์ ๋ฌด๋ฅผ ํ๋ฉด์ git merge์ ๋ํด ์ ๋๋ก ์์ง ๋ชปํ๊ณ ์์์ ๊นจ๋ซ๊ณ ์ ๋ฆฌ๋ฅผ ํ๋ ค๊ณ ํ๋ค.
์ํฉ์ ์ค๋ช ํ์๋ฉด,
Main ๋ธ๋์น์์ ๋ด A ๋ธ๋์น๋ฅผ ์ด์ฌํ ์์ ์ ํ๊ณ ์์ ์ด ๋ฉ์ถฐ์ง ์ํฉ์ด๋ค. (Main ๋ธ๋์น์ ๋จธ์ง ๋๊ธฐ ์ )
๊ทธ๋ฆฌ๊ณ Main ๋ธ๋์น์์ ๋ด B ๋ธ๋์น๋ฅผ ์์ ํ๋๋ฐ A ๋ธ๋์น์ ์์ ์ ์ด์ด๋ฐ์์ ํด์ผํ๋ ์ํฉ์ด๋ค.
์ด๋ ๋๋ ์์ฐ์ค๋ฝ๊ฒ 'git merge A ๋ธ๋์น' ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๊ณ , ์์ํ Git graph๊ฐ ๊ทธ๋ ค์ง ์ค๋ ๋ชจ๋ฅด๊ณ B ๋ธ๋์น์์ ์์ ์ ํด๋๊ฐ๋ค...
์ด ์ํฉ์์ Git graph๋ ์๋์ ๊ฐ๋ค.
์ข์ธก์ git history๋ฅผ ๋ณด์๋ฉด, A ๋ธ๋์น, B ๋ธ๋์น ๋ชจ๋ main ๋ธ๋์น์์ ๋ฐ์์ง๋ง git graph๋ ์ผ์ง์ ์ด๋ค!
๋ด๊ฐ ๊ฐ์ง ์๋ฌธ!
B ๋ธ๋์น๋ฅผ main ๋ธ๋์น์์ ๋ฐ์์ผ๋๊น main ๋ธ๋์น์์ ๊ฐ๋ผ์ง๋ ๋ชจ์์๊ฐ ๋์ด์ผํ์ง ์๋??
์ฐพ์๋ณด๋, ๋จธ์ง๋๋ ์์ ์ ๋ณ๊ฒฝ์ ์ด ์๋ ๊ฒฝ์ฐ(main ๋ธ๋์น๋ b ๋ธ๋์น๋ ๋์ผํ ์ํฉ), "fast-forward" ๋ฐฉ์์ผ๋ก ๋จธ์ง๋์๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ํฉ๋๋ค. ๋ณ๋์ ๋จธ์ง ์ปค๋ฐ์ด ์์ฑ๋์ง ์์์ ๋ธ๋์น๊ฐ ๊ฐ๋ผ์ก๋ค๊ฐ ํฉ์ณ์ง๋ ๋ชจ์์ด ์๋๋ผ, ํ ์ค๋ก ๋ณด์ด๊ฒ ๋๋๊ฑฐ๋ผ๊ณ ํฉ๋๋ค.
์ด๋ฐ ๊ฒฝ์ฐ ("fast-forward" ๋ฐฉ์์ผ๋ก ๋จธ์ง๋๋ ๊ฒฝ์ฐ), merge ์ปค๋ฐ๋ ๋ฐ๋ก ์๋ค๊ณ ํฉ๋๋ค...
์ด๋ฐ ๊ฒฝ์ฐ๋ฅผ ๋ฐฉ์งํ๊ณ ๋ช ํํ๊ฒ ๋ธ๋์น๊ฐ ๋๋์๋ค๊ฐ ํฉ์ณ์ง ๊ฒ์ผ๋ก ๋ณด๊ธฐ๋ฅผ ์ํ๋ค๋ฉด '--no-ff' ์ต์ ์ ์ฌ์ฉํด์ ๋จธ์งํ ๋ ๊ฐ์ ๋ก ๋จธ์ง ์ปค๋ฐ์ ์์ฑํ๋ฉด ๋๋ค๊ณ ํฉ๋๋ค.
ํท๊ฐ๋ฆฐ๋ค๋ฉด ๊ทธ๋ฅ git graph์์ checkout ์ํด์ merge ํ๋ฉด ๋ฉ๋๋ค.
๊ทธ๋์ 'git merge --no-ff A ๋ธ๋์น' ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ ๊ฐ์ด ๊ฐ๋ผ์ง๋ ๋ชจ์์๊ฐ ๋ฉ๋๋ค.
B ๋ธ๋์น๋ฅผ ๋ง๋ค๊ณ ๋๊ฐ์ด ์ปค๋ฐ์ 2๋ฒํ์ง๋ง ์ฒซ๋ฒ์งธ ์ฌ์ง๊ณผ ๋ฌ๋ฆฌ ์ปค๋ฐ์ด ํ๋ ๋ ์๊ธด ์ด์ ๋ (C6)
--no-ff ์ต์ ์ ์ฌ์ฉํ๋ฉด์ ๊ฐ์ ์ปค๋ฐ์ ์งํํด์๋ค
๐ ์๋ชป๋ ๊ฐ๋ ์ ๋ฌ์ด ์๋ค๋ฉด ๋๊ธ ๋ถํ๋๋ฆฝ๋๋ค. ์ ์ ์ฑ์ฅ์ ํฐ ๋์์ด ๋ฉ๋๋ค๐ค
'๐คผGit' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
git reflog, git ์ค์ ํ์ ๋ ๋๋๋ฆฌ๋ ๋ฐฉ๋ฒ (0) | 2023.04.23 |
---|---|
์คํ ์์ค์ ๊ธฐ์ฌํ๋ ๋ฐฉ๋ฒ (0) | 2023.04.16 |
clone ๋ฐ์ ๋ ํ์งํ ๋ฆฌ์์ env ์ค์ ํ๊ธฐ, go path ์ค์ ํ๊ธฐ (0) | 2023.04.12 |
git push ํ๊ธฐ ์ comit message ์์ ํ๊ธฐ (0) | 2023.03.29 |
๋ด๊ฐ ์จ๋ณธ git ๋ช ๋ น์ด (๊ณ์ ์ถ๊ฐ์ค..) (0) | 2023.03.06 |