fetch, merge, pull
์ด์ ์๊ฒฉ ์ ์ฅ์์ ์๋ ์ฝ๋๋ฅผ ๋ก์ปฌ๋ก ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์์๋ด ์๋ค.
๋จผ์ ์ค์ต์ ํด๋ณด๊ธฐ ์ํด git reset --hard dcff87a
์ git push -f
๋ฅผ ์
๋ ฅํฉ๋๋ค.
1. fetch
fetch๋ ์๊ฒฉ ์ ์ฅ์์์ ๊ฐ์ฅ ์ต์ ์ผ๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ธํด๋ณด๊ณ , ์๊ฒฉ ์ ์ฅ์์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ์ด ๋๋์ง ์๋๋์ง๋ง ํ์ธํฉ๋๋ค.
์ด๋ ์ค์ํ ์ ์ fetch๋ง ์ฌ์ฉํ๋ค๊ณ ํด์ ๋ฐ๋ก ๋ก์ปฌ์ ์๋ ์ฝ๋๊ฐ ์ ๋ฐ์ดํธ ๋์ง ์์ต๋๋ค.
์ด์ fetch๋ฅผ ์งํํด๋ด ์๋ค.
๋ก์ปฌ์ ์ ์ฅ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ต์ ์ปค๋ฐ ๋ชฉ๋ก์ ํ์ธํด๋ณด๋ฉด ์ด๋ ๊ฒ ์ปค๋ฐ ๋ฉ์์ง๊ฐ ๋์ด ์์ต๋๋ค.
์ฌ๊ธฐ์ git fetch <remote ์ด๋ฆ>
์ ์ฌ์ฉํด๋ด
์๋ค. git fetch upstream
์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ฉด ์ด๋ ๊ฒ ์๋ก์ด ๋ธ๋์น๋ฅผ ์ฐพ์ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
2. merge
Fetch๋ฅผ ํ์ผ๋ฉด ์ด์ Merge๋ฅผ ํด์ผ ๋ก์ปฌ์ ๋ฐ์์ ํ ์ ์์ต๋๋ค.
์ด๊ฒ์ git merge <์ฐธ์กฐํ ์๊ฒฉ ์ ์ฅ์>/<์
๋ฐ์ดํธ๋ฅผ ํ ๋ธ๋์น๋ช
>
๋ฅผ ์
๋ ฅํ๋ฉด ๋ฉ๋๋ค.
์ฌ๊ธฐ์๋ upstream๊ณผ main ๋ธ๋์น์ด๋ git merge upstream/main
์ผ๋ก ์์ฑํ๋ฉด ๋ฉ๋๋ค. (๋ธ๋์น๋ ๋ค์ ์ฅ์์ ์ค๋ช
ํ ์์ ์
๋๋ค.)
merge๋ฅผ ํ๋ฉด ์ต์ ๋ฒ์ ์ผ๋ก ์ ์ฅํ ์ ์์ต๋๋ค.
์ด์ GitHub๋ฅผ ์ดํด๋ณด๋ฉด ์์ง ๊ธฐ๋ก์ ํ์ง ์์๊ธฐ ๋๋ฌธ์ ์๋ ๋ฒ์ ๊ทธ๋๋ก ๋์ค๊ฒ ๋ฉ๋๋ค.
๊ทธ๋์ git push
๋ฅผ ํตํด ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ฐ์์ ํฉ์๋ค.
๊ฐ์ฅ ์ต์ ์ปค๋ฐ์ผ๋ก ๋ฐ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
3. pull
fetch and merge๋ฅผ ํ ๋ฒ์ ํ๋ ๋ฐฉ๋ฒ์ pull์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
git reset --hard dcff87a
์ git push -f
๋ฅผ ๋ค์ ์ ์ฉํฉ์๋ค.
์ดํ git pull <์๊ฒฉ ์ ์ฅ์ ์ด๋ฆ> <๋ธ๋์น ์ด๋ฆ>
์ ์
๋ ฅํ๋ฉด ๋ฉ๋๋ค.
์ฌ๊ธฐ์๋ git pull upstream main
์ ์คํํ๋ฉด ๋ฉ๋๋ค.
fetch์ merge๊ฐ ํ ๋ฒ์ ์งํํ๋ ๊ฒ์ ํ์ ํ ์ ์์ต๋๋ค.
4. Forkํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ๋์๊ฐ๊ธฐ
๋ด๊ฐ Forkํ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํ์ฌ ๋ก์ปฌ์ ๊ธฐ๋ก์ด ์๋ก ๋ค๋ฅธ ์ํ์ผ ๋, ๊ทธ๋ฆฌ๊ณ ๋๋ GitHub์ ๊ธฐ๋ก๋ Forkํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ๋์๊ฐ๊ณ ์ถ์ ๋๊ฐ ์์ ๊ฒ๋๋ค.
์ด๋์๋ git pull
์ ์ฌ์ฉํ๋ฉด ๋ด๊ฐ Forkํ ๋ฆฌํฌ์งํ ๋ฆฌ์ GitHub ๊ธฐ๋ก์ผ๋ก ๋ค์ ๋์๊ฐ๊ฒ ๋ฉ๋๋ค.
์ด๋ฒ์ ๊ฐ์ push ์์ด git reset --hard dcff87a
๋ง ์ ์ฉํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ฌ Forkํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ ์ ์ฌ์ง์ฒ๋ผ ๊ฐ์ฅ ์ต์ ์ปค๋ฐ์ผ๋ก ๋์ด ์์ด์ผ ํฉ๋๋ค.
์ดํ git pull
์ ์ ์ฉํด๋ด
์๋ค.
์ด๋ ๊ฒ ๋ฐ๋ก GitHub์ ๊ธฐ๋ก๋ ๋ด์ฉ์ผ๋ก ๋์๊ฐ ์ ์๊ฒ ๋ฉ๋๋ค.
Last updated