๊ฐ์ธ์ ์ผ๋ก Cherry-Pick์ Git ๋ช ๋ น์ด ์ค์์ ๊ฐ์ฅ ํ๋ฒ์ ํ! ์ดํด๋๋ ์ด๋ฆ์ ๊ฐ๊ณ ์๋ ๋ช ๋ น์ด๋ผ๊ณ ์๊ฐํ๋ค.
์ค์ ๋ก๋ Cherry picking์ด๋ผ๋ ๋ง์ ์์ด๋ฏผ๋ค์ ์ฌ์ฉํ๋ค๊ณ ํ๋๋, ์ํ๋ ๊ฒ๋ง ์ ๋ณ์ ์ผ๋ก ๊ฐ์ ธ์ค๋ ๊ฒ์ ๋ปํ๋ค๊ณ ํ๋ค.
Git์์๋ ์ ํํ ์ด๋ฐ ๊ธฐ๋ฅ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋ช
๋ น์ด๊ฐ ๋ฐ๋ก Cherry-Pick
์ด๋ค.
๊ทธ๋ผ ์์ธํ ํ๋ฒ ์์๋ณด์ ๐ฅ
Cherry-Pick
์ ๋ค๋ฅธ ๋ธ๋์น์ ์๋ Commit๋ค ์ค์์ ์ํ๋ ๊ฒ๋ง ์! ๊ฐ์ ธ์ค๋ ๋ช
๋ น์ด์ด๋ค. (์ค์ํ ๊ฒ์ Merging๋๋ ๊ฒ์ด ์๋๋ผ ๊ฐ์ฅ ์ต๊ทผ ์ปค๋ฐ์ผ๋ก ๊ฐ์ ธ์ค๊ฒ ๋๋ค.)
์ด๋ป๊ฒ Cherry-Pick์ ์ฌ์ฉํ๋ผ๋ ๊ฒ์ด ๋ฑ ์ ํด์ ธ์๋ ๊ฒ์ ์๋์ง๋ง, ๋๋ ์ฃผ๋ก ์๋์ ๊ฐ์ ์ํฉ์์ Cherry-Pick์ ์ฌ์ฉํ๊ณค ํ๋ค.
๋ค๋ฅธ ์ฌ๋๋ค๋ ์๋ง ์ฃผ๋ก ์ด๋ฐ ์ฉ๋๋ก ๋ง์ด๋ค ์ฌ์ฉํ ๊ฒ ๊ฐ๋ค.
๋, ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๋ ์ผ๋ฐ์ ์ธ ์ํฉ์ ์๋๊ธดํ๋ฏ๋ก, Cherry-Pick์ ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํ๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก๋ ๋งค๋๋ฌ์ด Git ๋ธ๋์น ์ ์ฑ ์ ์ ํ๊ณ , ๊ทธ์ ๋ง๊ฒ ํ์ ํ๋ฉฐ Cherry-Pick์ ์ธ ์ํฉ์ ์๋ง๋๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋ค ใ ใ
Git์ ์ปค๋ฐ์๋ ๊ทธ ์ปค๋ฐ๋ง ๊ฐ๋ ๊ณ ์ ํ ID๊ฐ์ด ์กด์ฌํ๋ค.
Cherry-Pick์ ์ด ๊ณ ์ ํ ID๊ฐ์ ํ์ฉํด์ ์ํ๋๊ฒ ๋๋ค.
git cherry-pick {์ปค๋ฐ ID} ... {์ปค๋ฐ ID}
Cherry-Pick์ ์์ ๊ฐ์ ๋ช ๋ น์ด๋ก ์คํํ ์ ์๋ค.
์์ ์ฌ์ง๋ค์ ์์๋ก ๋ค์ด๋ณด์.
master
๋ธ๋์น๋ก cherry2
์ 2: Cherry-pick
์ปค๋ฐ์ ๊ฐ์ ธ์ค๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด๋ณด์.
๊ทธ๋ฌ๋ฉด, ์๋์ ๊ฐ์ ๋ช
๋ น์ด๋ก ํด๋น ์ปค๋ฐ์ ๊ฐ์ ธ์ฌ ์ ์๋ค.
git cherry-pick e1ac041b61719f5ac5fdac93b08e72ece0f0513e
# ๋๋
git cherry-pick e1ac04
๋ฌผ๋ก ์ด ๋ช ๋ น์ด๋ ํ์ฌ ๋ธ๋์น๊ฐ master ๋ธ๋์น์ธ ์ํ์ฌ์ผํ๋ค. ๐ก
๋ช ๋ น์ด๋ฅผ ์คํํ ํ, master ๋ธ๋์น์์ ์ปค๋ฐ์ ํ์ธํด๋ณด๋ฉด, Cherry-Pick๋ 2๋ฒ ์ปค๋ฐ์ด 3๋ฒ ์ปค๋ฐ๋ณด๋ค ๋ ๋จผ์ ๋ง๋ค์ด์ง ๊ฒ์ด์ง๋ง, ๊ฐ์ฅ ์ต๊ทผ ์ปค๋ฐ์ผ๋ก ์ฐํ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
Cherry-Pick์ ์๋ก ๋ค๋ฅธ ๋ ๋ธ๋์น์ ์ฝ๋๋ฅผ ํฉ์น๋ ๋ช
๋ น์ด์ด๋ค.
๊ทธ๋ฌ๋ฏ๋ก ์ญ์๋ ์ฝ๋ Conflict๋ ์ผ๋ง๋ ์ง ์๊ธธ ์ ์๋ค.
์๋ก ๋ค๋ฅธ ๋ ๋ธ๋์น์์ ๋์ผํ ํ์ผ์ ๋์ผํ ๋ผ์ธ์ ์๋ก ๋ค๋ฅด๊ฒ ์์ ํ๋ฉด ์ด๋ ๊ฒ ์ถฉ๋์ ๋ผ(?) ์ ์๋ค.
์ด๋ด ๋๋ Hint์๋ ๋์ ์๋ ๊ฒ ์ฒ๋ผ ์๋ 3๊ฐ์ง ๋ช ๋ น์ด๋ก ๋์ฒํ ์ ์๋ค.
git cherry-pick --continue
: ์ถฉ๋๋ ๋ถ๋ถ์ ํด๊ฒฐํ ํ, ์คํํ๋ฉด ์ฒด๋ฆฌํผํน์ด ๋ง๋ฌด๋ฆฌ๋๋ค.git cherry-pick --skip
: ์ถฉ๋๋ ์ปค๋ฐ์ ์ ์ธํ๊ณ ์ฒด๋ฆฌํผํนํ๋ค.git cherry-pick --abort
: Cherry-pick ์คํํ๊ธฐ ์ ์ผ๋ก ๋์๊ฐ๋ค.ํน์๋ ์ถฉ๋์ด๋๋ฉด,,, ์ ๋ช ๋ น์ด๋ฅผ ์์ฉํด๋ณด์ ใ ใ ๐