
Learn Git Branching
Learn Git Branching์์ git ์ ๋ฐฐ์๋ด
์๋ค!
์ปค๋ฐ์ Git ์ ์ฅ์์ ์ฌ๋ฌ๋ถ์ ๋๋ ํ ๋ฆฌ์ ์๋ ๋ชจ๋ ํ์ผ์ ๋ํ ์ค๋ ์ท์ ๊ธฐ๋กํ๋ ๊ฒ์ ๋๋ค.
๊ฐ ์ปค๋ฐ์ ์ ์ฅ์์ ์ด์ ๋ฒ์ ๊ณผ ๋ค์ ๋ฒ์ ์ ๋ณ๊ฒฝ๋ด์ญ("delta"๋ผ๊ณ ๋ ํจ)์ ์ ์ฅํ๋ค. ๊ทธ๋์ ๋๋ถ๋ถ์ ์ปค๋ฐ์ด ๊ทธ ์ปค๋ฐ ์์ ๋ถ๋ชจ ์ปค๋ฐ์ ๊ฐ๋ฆฌํต๋๋ค.
git commit

๋ธ๋์น๋ ํน์ ์ปค๋ฐ์ ๋ํ ์ฐธ์กฐ(reference)์ ์ง๋์ง ์์ต๋๋ค.
๋ธ๋์น๋ฅผ "ํ๋์ ์ปค๋ฐ๊ณผ ๊ทธ ๋ถ๋ชจ ์ปค๋ฐ๋ค์ ํฌํจํ๋ ์์ ๋ด์ญ"์ด๋ผ๊ณ ๊ธฐ์ตํ์๋ฉด ๋ฉ๋๋ค.

git branch bugFix
.png)
git checkout bugFix
.png)
Git์ ํฉ์น๊ธฐ(merge)๋ ๋ ๊ฐ์ ๋ถ๋ชจ(parent)๋ฅผ ๊ฐ๋ฆฌํค๋ ํน๋ณํ ์ปค๋ฐ์ ๋ง๋ค์ด ๋ ๋๋ค.
๋๊ฐ์ ๋ถ๋ชจ๊ฐ ์๋ ์ปค๋ฐ์ด๋ผ๋ ๊ฒ์ "ํ ๋ถ๋ชจ์ ๋ชจ๋ ์์ ๋ด์ญ๊ณผ ๋๋จธ์ง ๋ถ๋ชจ์ ๋ชจ๋ ์์ , ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ ๋ถ๋ชจ์ ๋ชจ๋ ๋ถ๋ชจ๋ค์ ์์ ๋ด์ญ์ ํฌํจํ๋ค"๋ผ๋ ์๋ฏธ๊ฐ ์์ต๋๋ค.
.png)
bugFix๋ผ๋ ์ ๋ธ๋์น๋ฅผ ๋ง๋ญ๋๋คgit branch bugFix
.png)
git checkout bugFix๋ฅผ ์
๋ ฅํดย bugFixย ๋ธ๋์น๋ก ์ด๋(checkout)ํฉ๋๋ค.git checkout bugFix
.png)
git commit
.png)
git checkoutย ๋ช
๋ น์ด๋ฅผ ์ด์ฉํดย master๋ธ๋์น๋ก ๋์๊ฐ๋๋คgit checkout master
.png)
git commit
.png)
git mergeย ๋ช
๋ น์ด๋กย bugFix๋ธ๋์น๋ฅผย master์ ํฉ์ณ ๋ฃ์ต๋๋ค.git merge bugFix
.png)
git checkout bugFix
.png)
git merge master
.png)
๋ฆฌ๋ฒ ์ด์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ปค๋ฐ๋ค์ ๋ชจ์์ ๋ณต์ฌํ ๋ค, ๋ค๋ฅธ ๊ณณ์ ๋จ๊ถ ๋๋ ๊ฒ์ ๋๋ค.
๋ฆฌ๋ฒ ์ด์ค๋ฅผ ํ๋ฉด ์ปค๋ฐ๋ค์ ํ๋ฆ์ ๋ณด๊ธฐ ์ข๊ฒ ํ ์ค๋ก ๋ง๋ค ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค. ๋ฆฌ๋ฒ ์ด์ค๋ฅผ ์ฐ๋ฉด ์ ์ฅ์์ ์ปค๋ฐ ๋ก๊ทธ์ ์ด๋ ฅ์ด ํ๊ฒฐ ๊นจ๋ํด์ง๋๋ค.
.png)
bugFix๋ผ๋ ์ ๋ธ๋์น๋ฅผ ๋ง๋ค์ด ์ ํํ์ธ์git branch bugFix
git checkout bugFix
.png)
git commit
.png)
git checkout master
git commit
.png)
git checkout bugFix
git rebase master
.png)
git checkout master
git rebase bugFix
.png)
notion ์ ๋ฆฌ
[notion]Learn Git Branching - git ๊ธฐ๋ณธ ๐