2023.03.27 - [git] - [git] 07 - ๋ธ๋์น๋? (branch)
์์ ๊ธ์์ main ๋ธ๋์น์ foo ๋ธ๋์น๋ฅผ ์์ ํ๋๋ฐ foo ๋ธ๋์น์์ ์์ ํ ๊ฒ์ main ๋ธ๋์น์ ๋ฐ์ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ๋ ๊น?
ํ์ฌ ์ปค๋ฐ์ ์๋์ ์ฌ์ง๊ณผ ๊ฐ๋ค. ์ด์ 'foo' ๋ธ๋์น์์ ์์ ํ๋ ์ปค๋ฐ๋ค์ main ๋ธ๋์น์ ๋ณํฉํด๋ณด๋๋ก ํ์
merge
ํด๋น ๋ช ๋ น์ด๋ ๋ธ๋์น๋ฅผ ๋ณํฉํ๋ ๋ช ๋ น์ด๋ค.
git merge <๋ธ๋์น๋ช
>
ํด๋น ๋ช ๋ น์ด๋ฅผ ์ธ ๋ ์ฃผ์ํ ์ ์ 'foo' ๋ธ๋์น์ ์ปค๋ฐ์ main ๋ธ๋์น๋ก ๋ณํฉํ๋ ค๊ณ ํ๊ธฐ ๋๋ฌธ์ merge ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๊ธฐ ์ ์ main ๋ธ๋์น๋ฅผ ์ฒดํฌ์์ ํด์ผ ํ๋ค.
๊ทธ๋์ ์๋์ ์ฌ์ง๊ณผ ๊ฐ์ด main ๋ธ๋์น๋ฅผ ์ฒดํฌ์์ ํ ๋ค, merge ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
merge๊ฐ ์ ์์ ์ผ๋ก ๋๋ค๋ฉด ์๋์ ์ฌ์ง๊ณผ ๊ฐ์ด 'foo_a.txt', 'foo_b.txt'๊ฐ ์์ฑ๋์์ ๊ฒ์ด๊ณ , log๋ฅผ ํ์ธํด๋ณด๋ฉด 'foo 2' ์ปค๋ฐ ์์ main, foo๋ผ๊ณ ํ์๋์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ณํฉ์๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋๋ฐ, merge ๋ช ๋ น์ด ์ ๋ ฅํ๋ ํ๋ฉด์ ๋ณด๋ฉด Fast-forward ๋ผ๊ณ ์๋๋ฐ ์ด๊ฒ ๋ณํฉ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค.
Fast-Forward Merge
ํด๋น ๋ฐฉ๋ฒ์ ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด foo ๋ธ๋์น ์์ฑ ์ดํ์ main ๋ธ๋์น์ ์ถ๊ฐํ ์ปค๋ฐ์ด ์์ ๋ ํด๋น ๋ฐฉ๋ฒ์ผ๋ก ๋ณํฉ์ด ๋๋ค.
Commit Merge
ํด๋น ๋ฐฉ๋ฒ์ ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด foo ๋ธ๋์น ์์ฑ ์ดํ์ main ๋ธ๋์น์๋ ์ปค๋ฐ์ด ์ถ๊ฐ๋์์ ๋ ํด๋น ๋ฐฉ๋ฒ์ผ๋ก ๋ณํฉ์ด ๋๋ค.
๊ทธ๋์ Commit Merge๊ฐ ๋๋ฉด ์๋ก์ด ์ปค๋ฐ์ด ์๊ธฐ๊ธฐ ๋๋ฌธ์, ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ ๋ ฅํ๋ vi ํธ์ง๊ธฐ๊ฐ ๋ฐ ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ log๋ฅผ ํ์ธํด๋ณด๋ฉด ์๋์ ์ฌ์ง๊ณผ ๊ฐ์ด Merge branch 'bar'๋ผ๋ ์๋ก์ด ์ปค๋ฐ์ด ์๊ฒผ์ ๊ฒ์ด๋ค.
'๐๏ธ git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[git] 09 - GitHub์ ์๋ ํ๋ก์ ํธ ๋ด๋ ค๋ฐ๊ธฐ (clone) (0) | 2023.03.27 |
---|---|
[git] GitHub ์ฐ๋ (MacOS) (0) | 2023.03.27 |
[git] 07 - ๋ธ๋์น๋? (branch) (0) | 2023.03.27 |
[git] 06 - ์์ ์์ ์ ์ฅํ๊ธฐ (stash) (0) | 2023.03.27 |
[git] 05 - ์ปค๋ฐ ๋๋๋ฆฌ๊ธฐ (revert, reset) (0) | 2023.03.23 |