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์ ํ ๋ฒ ๋ ์คํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.