๐ ๊ฐ๋ฐ ๋ธ๋์น์ ํน์ ์ปค๋ฐ๋ง ์ด์ ๋ธ๋์น๋ก Merge ํ๊ณ ์ถ์ ๋
์ง๊ธ ์งํ ์ค์ธ ํ๋ก์ ํธ์์๋ ๊ฐ๋ฐ/์ด์ ์๋ฒ์ ์์ค ๋ฐ์์ GitLab Repository์ branch ๊ตฌ๋ถ์ ํตํด ์งํํ๊ณ ์๋ค. develop
branch์ ์ปค๋ฐํ ์์ค๊ฐ ๊ฐ๋ฐ ์๋ฒ์์ ์ ์๋ํ๋์ง ํ์ธํ ํ master
branch๋ก Mergeํ๋ฉด ์ด์ ์๋ฒ์ ๋ฐ์๋๋ ์์ด๋ค.
๊ทธ๋ฐ๋ฐ ๋ชจ๋ ๊ฐ๋ฐ์๊ฐ develop
branch์ ์ปค๋ฐํ๋ค ๋ณด๋ Merge Request๋ฅผ ๋ง๋ค๋ฉด ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์ ์ปค๋ฐ ๋ด์ฉ๊น์ง ํจ๊ป ์์ฒญ์ด ๋์ด Conflict๊ฐ ๋๊ฑฐ๋ ๋ฌธ์๊ฐ ๋ค์ด์ค๋ ๊ฒฝ์ฐ๊ฐ ์๊ฒผ๋ค! ์ํ๋ ์ปค๋ฐ๋ง Merge ํ๊ธฐ ์ํด ์ฐพ์๋ณด๋ ํน์ branch์ ์ํ๋ commit์ ํ์ฌ branch๋ก ๊ณจ๋ผ์ ๊ฐ์ ธ์ฌ ์ ์๋ ๋ช
๋ น์ด๊ฐ ์์ด ๊ธฐ๋กํด๋๋ค.
โ git cherry-pick (์ํ๋ ์ปค๋ฐ ํด์)
Merge ํ๊ณ ์ถ์ ์ปค๋ฐ์ ํด์๋ฅผ ๋ณต์ฌํ๋ค. ์ปค๋ฐ ํด์๋ ๋ณดํต ์ปค๋ฐ ๋ด์ญ์์ ์ฝ๊ฒ ํ์ธ ๊ฐ๋ฅํ๋ฉฐ, Github ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
# Commit์ ๊ฐ์ ธ์ค๊ณ ์ถ์ Target branch๋ก checkout ํ
git cherry-pick ์ปค๋ฐ ํด์
# ์์
git cherry-pick 6b0d284ed2def4ab477ab7a995c2453505d722f5
โผ๏ธ git cherry pick fatal: bad revision ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ
Merge ํ๋ ค๋ ์ปค๋ฐ์ด ์กด์ฌํ๋ branch๊ฐ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ ๋์ง ์์์ ๋ ๋ฐ์ํ๋ ์ค๋ฅ์ด๋ค. ๋ ๊ฐ์ ๊ฒฝ์ฐ์ GitLab ์น์ ํตํด ์ปค๋ฐ ํ ๋ก์ปฌ์์ Git bash๋ก cherry-pick์ ์๋ํ๋ค๊ฐ ํด๋น ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋ค.
ํด๋น ์ปค๋ฐ์ด ์กด์ฌํ๋ branch๋ก ๊ฐ์ git pull
๋ก branch๋ฅผ ์
๋ฐ์ดํธ ํด ์ค ํ ์๋ํ๋ฉด ๋๋ค. ์๋ฅผ ๋ค์ด develop
branch์ 123 ์ปค๋ฐ์ master
branch๋ก cherry-pick ํ๊ณ ์ถ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์์๋ก ์งํํ๋ฉด ๋๋ค.
# 123 ์ปค๋ฐ์ ์ํํ develop branch๋ก ์ด๋
git checkout develop
# pull๋ก ์
๋ฐ์ดํธ
git pull origin develop
# 123 ์ปค๋ฐ์ ๊ฐ์ ธ์ฌ master branch๋ก ์ด๋
git checkout master
# cherry-pick์ผ๋ก ํด๋น ์ปค๋ฐ ๊ฐ์ ธ์ด
git cherry-pick 123
'Dev > Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[GIT] git pull ๊ฐ์ ๋ก ์ํํ๊ธฐ (0) | 2022.05.10 |
---|