์ค๋ต ๊น ๐ช - ์ค๊ธํธ #1: ๋ชจ๋ ๋ธ๋์น ์ ๋ฐ์ดํธ์ ํ(Pull) ํ๊ธฐ
by its_TIMIGit์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๋ธ๋์น๋ฅผ ๊น๋ํ๊ฒ ์ ๋ฐ์ดํธํ๊ณ ์ต์ ์ํ๋ฅผ ์ ์งํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๋ค.
๐ ๊ธฐ๋ณธ ๋ช ๋ น์ด
ํ์ฌ ์์ ์ค์ธ ๋ธ๋์น๋ฅผ ์ ๋ฐ์ดํธํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ค:
git pull --rebase
--rebase
์ต์
์ ์ฌ์ฉํ๋ฉด ๊น ํ์คํ ๋ฆฌ๊ฐ ๋ ๊น๋ํ๊ฒ ์ ๋ฆฌ๋๋ฉฐ, ๋ณํฉ(commit merge) ์์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ ์ ์๋ค.
๐ ๋ชจ๋ ๋ธ๋์น ์ ๋ฐ์ดํธํ๊ธฐ
Git์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ ๋ฒ์ ํ๋์ ๋ธ๋์น๋ง ์ ๋ฐ์ดํธํ๋ค. ํ์ง๋ง ์ฌ๋ฌ ๋ธ๋์น๋ฅผ ํ ๋ฒ์ ์ ๋ฐ์ดํธํ๊ณ ์ถ๋ค๋ฉด, ์๋ ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฉํ ์ ์๋ค:
for branch in $(git branch -r | grep -v '\->'); do
git checkout ${branch##*/} && git pull --rebase;
done
์ด ์คํฌ๋ฆฝํธ๋ ์๊ฒฉ ๋ธ๋์น๋ฅผ ํ๋์ฉ ์ฒดํฌ์์ํ๊ณ ์ ๋ฐ์ดํธ๋ฅผ ์๋์ผ๋ก ์คํํ๋ค.
๐ ์์ ํ๊ฒฝ์ ํจ์จ์ ์ผ๋ก ์ค์ ํ๊ธฐ
git pull
์์
์ ๋์ฑ ํธ๋ฆฌํ๊ฒ ์ํํ๋ ค๋ฉด ์๋ ์ค์ ์ ์ถ๊ฐํ๋ค:
git config --global pull.rebase true
git config --global rebase.autoStash true
์ด ์ค์ ์ git pull
์ ์๋์ผ๋ก rebase๋ฅผ ์ ์ฉํ๋ฉฐ, ์์
์ค์ธ ๋ณ๊ฒฝ ์ฌํญ์ ์์ ์ ์ฅ(stash) ํ ๋ค์ ์ ์ฉํ๋ค.
๐ ์ถ๊ฐ ํ
ํ(Pull) ๊ณผ์ ์์ ์ถฉ๋์ด ๋ฐ์ํ ๋, ๋ฌธ์ ๋ฅผ ๋ ์ฝ๊ฒ ํด๊ฒฐํ๋ ค๋ฉด ๋ค์ ์ค์ ๋ ์ถ์ฒํ๋ค:
git config --global merge.conflictstyle diff3
์ด ์ค์ ์ ํตํด ์ถฉ๋ ์ ๋ ๋ช ํํ ๋น๊ต ์ ๋ณด๋ฅผ ๋ณผ ์ ์๋ค.
Git ์ฌ์ฉ์ ์์ด ์ด ํ์ด ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋ค.
'์ค๋ต ๊น๐ช > ์ค๊ธํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ธ๋ก๊ทธ์ ์ ๋ณด
Dev_TIMI
its_TIMI