๐Ÿ”ฅ GitHub ํ‘ธ์‹œ ์˜ค๋ฅ˜ failed to push some refs 3๋ถ„ ํ•ด๊ฒฐ๋ฒ•

2026-07-15 ยท ํ…Œํฌ ยท ์ฝ๋Š”๋ฐ 4๋ถ„

Git ํ‘ธ์‹œ๋ฅผ ํ•˜๋‹ค ๋ณด๋ฉด "failed to push some refs to"๋ผ๋Š” ๋นจ๊ฐ„์ƒ‰ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณธ ์ ์ด ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ์›๊ฒฉ ์ €์žฅ์†Œ์™€ ๋‚ด ์ปดํ“จํ„ฐ์˜ ๋ฒ„์ „์ด ๋‹ฌ๋ผ์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ธ๋ฐ, ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์ด ์˜ค๋ฅ˜๊ฐ€ ์™œ ์ƒ๊ธฐ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  3๋ถ„ ์•ˆ์— ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐจ๊ทผ์ฐจ๊ทผ ์„ค๋ช…ํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ์˜ค๋ฅ˜, ์™œ ๋ฐœ์ƒํ• ๊นŒ

์›๊ฒฉ ์ €์žฅ์†Œ(GitHub)์— ๋‚ด ๋กœ์ปฌ ์ €์žฅ์†Œ์—๋Š” ์—†๋Š” ํŒŒ์ผ์ด๋‚˜ ์ปค๋ฐ‹์ด ์กด์žฌํ•  ๋•Œ, ํ‘ธ์‹œ๊ฐ€ ์ž๋™์œผ๋กœ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋Ÿฐ ์ƒํ™ฉ์„ ์ƒ๊ฐํ•ด ๋ณด์„ธ์š”. ํŒ€์› B๊ฐ€ f2.py ํŒŒ์ผ์„ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ ธ๋Š”๋ฐ, ๋‚ด ์ปดํ“จํ„ฐ์—๋Š” f1.py๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ƒํƒœ์—์„œ ๋‚ด๊ฐ€ f1.py๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ํ‘ธ์‹œํ•˜๋ ค๊ณ  ํ•˜๋ฉด Git์ด ์ถฉ๋Œ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ๊ฑฐ๋ถ€ํ•˜๋Š” ๊ฒ๋‹ˆ๋‹ค.

์ด ์˜ค๋ฅ˜๋Š” ํŠนํžˆ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ํ˜‘์—…ํ•  ๋•Œ ์ž์ฃผ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋˜ ์ธํ…”๋ฆฌ์ œ์ด ๊ฐ™์€ IDE์—์„œ ํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ ์œˆ๋„์šฐ ํƒ์ƒ‰๊ธฐ๋กœ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญํ•ด์„œ ์˜ฎ๊ธด ํ›„ ํ‘ธ์‹œํ•  ๋•Œ๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊นƒํ—ˆ๋ธŒ ์‚ฌ์ดํŠธ์—์„œ ์ง์ ‘ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•œ ๊ฒฝ์šฐ์—๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

๊ฐ€์žฅ ๋น ๋ฅธ ํ•ด๊ฒฐ๋ฒ• git pull๋กœ ์›๊ฒฉ ๋‚ด์šฉ ๊ฐ€์ ธ์˜ค๊ธฐ

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๋‹จ์ˆœํ•ฉ๋‹ˆ๋‹ค. ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์„ ๋‚ด ๋กœ์ปฌ๋กœ ๋จผ์ € ๊ฐ€์ ธ์˜จ ํ›„, ๋‹ค์‹œ ํ‘ธ์‹œํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

git pull origin main

์ด ๋ช…๋ น์–ด๋Š” ์›๊ฒฉ ์ €์žฅ์†Œ(origin)์˜ main ๋ธŒ๋žœ์น˜์— ์žˆ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋‚ด ๋กœ์ปฌ ๋ธŒ๋žœ์น˜๋กœ ๊ฐ€์ ธ์™€ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ git push๋ฅผ ๋‹ค์‹œ ์‹œ๋„ํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

git pull ์ค‘ "fatal refusing to merge unrelated histories"๊ฐ€ ๋‚˜์˜ฌ ๋•Œ

๊ฐ€๋” git pull์„ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ ์œ„์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๋ฉด์„œ ๋ณ‘ํ•ฉ์ด ๊ฑฐ๋ถ€๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋กœ์ปฌ ์ €์žฅ์†Œ์™€ ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ์ปค๋ฐ‹ ์ด๋ ฅ์ด ์™„์ „ํžˆ ๋‹ฌ๋ผ์„œ Git์ด ์ž๋™ ๋ณ‘ํ•ฉ์„ ํฌ๊ธฐํ•œ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

git pull origin main --allow-unrelated-histories

์ด ์˜ต์…˜์€ ์„œ๋กœ ๊ด€๋ จ ์—†๋Š” ๋‘ ์ €์žฅ์†Œ์˜ ์ด๋ ฅ์„ ๊ฐ•์ œ๋กœ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ†ต ๊นƒํ—ˆ๋ธŒ์—์„œ README๋‚˜ ๋ผ์ด์„ ์Šค ํŒŒ์ผ์„ ๋จผ์ € ์ƒ์„ฑํ•œ ํ›„, ๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ์ฒ˜์Œ ํ‘ธ์‹œํ•  ๋•Œ ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์ž์ฃผ ์ƒ๊น๋‹ˆ๋‹ค.

๋ณ‘ํ•ฉ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ–ˆ๋‹ค๋ฉด

git pull ๊ณผ์ •์—์„œ ์ถฉ๋Œ(conflict)์ด ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ๋Š” ๋‹นํ™ฉํ•˜์ง€ ๋ง๊ณ  ์ถฉ๋Œ์ด ๋‚œ ํŒŒ์ผ์„ ์—ด์–ด์„œ ์ง์ ‘ ์ˆ˜์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ถฉ๋Œ ๋ถ€๋ถ„์€ <<<<<<<, =======, >>>>>>> ํ‘œ์‹œ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ •์„ ๋งˆ์นœ ํ›„์—๋Š” ์ €์žฅํ•˜๊ณ  ๋‹ค์‹œ ์ปค๋ฐ‹ํ•œ ๋’ค ํ‘ธ์‹œํ•˜์„ธ์š”.

๊ฐ•์ œ ํ‘ธ์‹œ๋Š” ์‹ ์ค‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์„ธ์š”

๋กœ์ปฌ ๋‚ด์šฉ์„ ์›๊ฒฉ ์ €์žฅ์†Œ์— ๊ฐ•์ œ๋กœ ๋ฎ์–ด์“ฐ๊ณ  ์‹ถ๋‹ค๋ฉด git push --force ๋ช…๋ น์–ด๋ฅผ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•์€ ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ๊ธฐ์กด ์ปค๋ฐ‹์„ ์‚ญ์ œํ•˜๋ฏ€๋กœ, ํ˜ผ์ž ์ž‘์—…ํ•˜๋Š” ์ €์žฅ์†Œ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŒ€์›์ด ์˜ฌ๋ฆฐ ์ฝ”๋“œ๊ฐ€ ์‚ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ๋“ค

Q. git pull๋งŒ ํ•˜๋ฉด ๋˜๋‚˜์š”? ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ์—†๋‚˜์š”?

๋„ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ git pull์ด ๊ฐ€์žฅ ๊ถŒ์žฅ๋˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ฐ•์ œ ํ‘ธ์‹œ๋Š” ์ตœํ›„์˜ ์ˆ˜๋‹จ์œผ๋กœ ์ƒ๊ฐํ•˜์„ธ์š”.

Q. pull ํ–ˆ๋Š”๋ฐ๋„ ๊ณ„์† ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์š”.

์ด ๊ฒฝ์šฐ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ถ”๊ฐ€ ์ปค๋ฐ‹์ด ๋” ์žˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ณด์„ธ์š”. git status ๋ช…๋ น์–ด๋กœ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ํŒŒ์•…ํ•œ ํ›„, ๋‹ค์‹œ ํ•œ ๋ฒˆ git pull์„ ์‹œ๋„ํ•ด ๋ณด์„ธ์š”.

Q. ํ˜‘์—…ํ•  ๋•Œ ์ด ์˜ค๋ฅ˜๋ฅผ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

ํ‘ธ์‹œํ•˜๊ธฐ ์ „์— ํ•ญ์ƒ git pull๋กœ ์ตœ์‹  ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์ด๋ฉด ์˜ค๋ฅ˜ ๋ฐœ์ƒ์„ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ํ‘ธ์‹œ ์ง์ „์— pull์„ ํ•œ ๋ฒˆ ๋” ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.