[๊น] ์ฒด๋ฆฌํฝ (Cherry-pick) ๐
์ฒด๋ฆฌํฝ
์ฒด๋ฆฌํฝ์ด๋ ํ๋ ์ด์์ ๊ธฐ์กด์ ์ปค๋ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ์ฌ ์ ์ปค๋ฐ์ผ๋ก ๊ธฐ๋กํ๋ ๊ฒ์ด๋ค. ๋ธ๋์น์์ ์ปค๋ฐ์ ์ ํํ๊ณ ๋ค๋ฅธ ๋ธ๋์น์ ์ ์ฉํ๋ ๊ฒ์ด๋ค.
์ฒด๋ฆฌํฝ ์ฌ์ฉ์ ์
์ปค๋ฐ์ ์๋ชป๋ ๋ธ๋์น์ ํ ๊ฒฝ์ฐ ํด๋น ์ปค๋ฐ์ ์ฒด๋ฆฌํฝํ์ฌ ์ํ๋ ๋ธ๋์น์ ์ ์ฉ์ํฌ ์ ์๋ค. ๋ค๋ฅธ ๋ ํฌ์งํ ๋ฆฌ์ ๋ธ๋์น์ ์ ์ฉ๋ ๋ณ๊ฒฝ ์ฌํญ๋ค์ ํ์ฌ ๋ ํฌ์งํ ๋ฆฌ์ ์ํ๋ ๋ธ๋์น์ ์ ์ฉ์ํฌ ์ ์๋ค.
์๋ก์ด ๊ธฐ๋ฅ ๊ฐ๋ฐ ๋์ค ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ ๊ฒฝ์ฐ ํซํฝ์ค๋ฅผ ์ํด ํด๋น ๋ฒ๊ทธ๋ฅผ ์์ ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐ์ผ๋ก ์์ฑํ๋ฉด ๋ฉ์ธ ๋ธ๋์น์์ ํด๋น ํซํฝ์ค ์ปค๋ฐ์ ์ฒด๋ฆฌํฝํ์ฌ ๋ฒ๊ทธ๋ฅผ ๋น ๋ฅด๊ฒ ์์ ํ ์ ์๋ค.
์ฒด๋ฆฌํฝ ์ฌ์ฉ ์ ์ฃผ์์ฌํญ
์ฒด๋ฆฌํฝ์ ์ํด์๋ HEAD ์ปค๋ฐ ์ดํ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ด์ผ ํ๋ค. ๋ํ ๋ณํฉ๊ณผ ๋ฆฌ๋ฒ ์ด์ค๋ฅผ ๋์ฒดํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํ์ง ์๋๋ค.
์ฒด๋ฆฌํฝ ์ ๋ณํฉ ์ถฉ๋์ด ๋ฐ์ํ๋ ์ด์ ๋ ์ฒด๋ฆฌํฝ ๋์ ๋ธ๋์น์ ํ์ฌ ๋ธ๋์น๊ฐ ๋ถ๊ธฐ๋ ์ดํ ๋์ผํ ํ์ผ์ ๋ํ ์์ ์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ด๋ฉฐ ์ด ๊ฒฝ์ฐ ํด๋น ์ฒด๋ฆฌํฝ ๋์ ์ปค๋ฐ์ด ํ์ฌ ๋ธ๋์น์ ํ์์ด ๋ค๋ฅผ ๊ฒ์ด๋ค.
์ฌ๋ฌ ์ปค๋ฐ๋ค์ ์ฒด๋ฆฌํฝํ๋ ๋์ค ํน์ ์ฒด๋ฆฌํฝ์์ ๋ณํฉ ์ถฉ๋์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ๋ ํ์ฌ๊น์ง ์ฒด๋ฆฌํฝํ์ฌ ์ปค๋ฐ์ ๋ฐ์ํ ์ค๋ ์ท(ํน์ ์ฒด๋ฆฌํฝ ์ด์ ์ค๋ ์ท)์ ๊ธฐ์ค์ผ๋ก ํด๋น ํ์ผ์ ๋ณ๊ฒฝํด ๊ฐ๊ณ ์๊ธฐ ๋๋ฌธ์ด๊ณ ํด๋น ํ์ผ์ด ํน์ ์ฒด๋ฆฌํฝ ๋์ ์ปค๋ฐ์์ ์์ ํ ํ์ผ๊ณผ ๋์ผํ ํ์ผ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์๋ฅผ ๋ค์ด ์ต์ ํ๋ A ๋ธ๋์น์ B ๋ธ๋์น์ ์ปค๋ฐ์ ์ฒด๋ฆฌํฝ ์ค์ด๊ณ , ์ฒด๋ฆฌํฝ ๋์ค ๋ณํฉ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด A ๋ธ๋์น์ ์ต์ ํ๋ ์์ค๋ฅผ ์ ํํ๊ณ , A ๋ธ๋์น์ ์์ง ๋ฐ์๋์ง ์์ ์์ค๋ B ๋ธ๋์น์ ์์ค๋ฅผ ์ ํํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฒด๋ฆฌํฝ ๋์ ์ปค๋ฐ์ด ์ด์ ์ ๊ณผ๊ฑฐ ์์ ์ A ๋ธ๋์น๋ฅผ B ๋ธ๋์น์ ๋ณํฉํ ๋ณํฉ ์ปค๋ฐ์ด๋ผ๋ฉด ํด๋น ๋ณํฉ ์ปค๋ฐ์ ์ฒด๋ฆฌํฝ์์ ์ ์ธํ๋ค.
๋ณํฉ ์ปค๋ฐ
์ปค๋ฐ์ ๋ถ๋ชจ ์ปค๋ฐ์ ๊ฐ์ง์ง ์๊ฑฐ๋ ํ๋ ์ด์์ ๋ถ๋ชจ ์ปค๋ฐ์ ๊ฐ์ง ์ ์๋ค. ๋ณํฉ ์ปค๋ฐ์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ ํด๋น ์ปค๋ฐ์ ๋ ๊ฐ ์ด์์ ๋ถ๋ชจ ์ปค๋ฐ์ ๊ฐ์ง๊ฒ ๋๋ค.
ํ์ฌ ์ฒดํฌ์์ํ ๋ณํฉ ๊ธฐ์ค ๋ธ๋์น์ธ A ๋ธ๋์น์ ๋ณํฉ ๋์ ๋ธ๋์น์ธ B ๋ธ๋์น๋ฅผ ๋ณํฉํ๋ ค๊ณ ํ๋ ๊ฒฝ์ฐ A ๋ธ๋์น์ ๋ณํฉ ์ปค๋ฐ ์ ๊ฐ์ฅ ์ต๊ทผ ์ปค๋ฐ์ด ์ฒซ๋ฒ์งธ ๋ถ๋ชจ(first parent) ์ปค๋ฐ์ด๋ฉฐ B ๋ธ๋์น์ ๊ฐ์ฅ ์ตํฐ ์ปค๋ฐ์ด ๋๋ฒ์งธ ๋ถ๋ชจ(second parent) ์ปค๋ฐ์ด๋ค.
A a1-a2-a3-a4
B \b1-b2/
๋ณํฉ ์ปค๋ฐ์ธ a4 ์ปค๋ฐ์ ์ฒซ๋ฒ์งธ ๋ถ๋ชจ๋ a3 ์ปค๋ฐ์ด๋ฉฐ ๋๋ฒ์งธ ๋ถ๋ชจ๋ b2 ์ปค๋ฐ์ด๋ค.
๋ณํฉ์ ๋ฐ๋๋ก ํ๋ค๋ฉด? ๋ค๋ฅธ ๋ธ๋์น์ ๋ณํฉ ์ปค๋ฐ์ ์ฒด๋ฆฌํฝ ํ๋ค๋ฉด?
๋ธ๋์น A์ ๋ธ๋์น B๋ฅผ ๋ณํฉํด์ผ ํ์ง๋ง ๋ฐ๋๋ก ๋ธ๋์น B์ ๋ธ๋์น A๋ฅผ ๋ณํฉํ๋ฉด ์๋์น ์๊ฒ ๋ธ๋์น B์๋ ๋ธ๋์น A์ ์ปค๋ฐ๋ค์ด ๋ฐ์๋๊ฒ ๋๋ค.
C /c1\
A a1-a2-a3\
B \b1-b2-b3-b4-b5
B' b1-b2-b4-b5
์ด ๊ฒฝ์ฐ ๋ณํฉ ์ปค๋ฐ(b3)์ผ๋ก ์ธํด ๋ธ๋์น A์ ํฌํจ๋ ์ปค๋ฐ ์ค ๋ค๋ฅธ ๋ธ๋์น(๋ธ๋์น C)์ ์ปค๋ฐ(๋ณํฉ์ด ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ)์ด ๋ธ๋์น B์ ๋ฐ์๋ ์๋ ์๋ค. ๋๋ ๋ธ๋์น A์์ ์ํํ ๋ณํฉ ์ปค๋ฐ(a3) ์์ฒด๋ฅผ ๋ธ๋์น B์์ ์ฒด๋ฆฌํฝํ๋ค๋ฉด ๋ง์ฐฌ๊ฐ์ง๋ก ์๋์น ์๊ฒ ๋ธ๋์น B์๋ ๋ธ๋์น A์ ํฌํจ๋ ์ปค๋ฐ ์ค ๋ค๋ฅธ ๋ธ๋์น(๋ธ๋์น C)์ ์ปค๋ฐ๋ค์ด ๋ฐ์๋ ์ ์๋ค.
์ด ๊ฒฝ์ฐ ์๋ชป ์ํํ ๋ณํฉ ์ปค๋ฐ(๋๋ ์ฒด๋ฆฌํฝ ์ปค๋ฐ) ๋ฐ๋ก ์ด์ ์ ์ปค๋ฐ(b2 ๋๋ a3)์ผ๋ก ๋ฆฌ์ ์ ์งํํ๊ณ ์๋ก์ด ๋ธ๋์น๋ก ์ฒดํฌ์์ํ ํ ๋ณํฉ ์ปค๋ฐ ๋ค์ ์ปค๋ฐ๋ค(b4, b5)์ ์ฒด๋ฆฌํฝํ๋ ๋ฐฉ๋ฒ์ด ์๋ค. ํ์ง๋ง ๋ณํฉ ์ปค๋ฐ(b3)์ด c1 ์ปค๋ฐ๊ณผ ๋์ผํ ํ์ผ์ ์์ ํจ์ผ๋ก์จ ๋ฐ์ํ๋ ๋ณํฉ ์ถฉ๋์ ํด๊ฒฐํ ์ปค๋ฐ์ด๋ผ๋ฉด ์ดํ ์ปค๋ฐ์ ์ฒด๋ฆฌํฝํ ๋ ๋ณํฉ ์ปค๋ฐ ์ดํ ์ปค๋ฐ์๋ ์ด๋ฏธ ๋ธ๋์น B์ ๋ฐ์๋ ๋ธ๋์น C์ ์ปค๋ฐ์ผ๋ก ์ธํ ์์ค ์ฝ๋ ๋ฐ์์ด ์๊ธฐ ๋๋ฌธ์ ๋ณํฉ ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ผ๋ฉฐ ํด๋น ์ปค๋ฐ(c1)์ผ๋ก ์ธํ ์์ค ์ฝ๋ ๋ฐ์์ ์ ๊ฑฐํ๋ ๋ณํฉ ์ถฉ๋ ํด๊ฒฐ ๊ณผ์ ์ด ์ถ๊ฐ๋ก ํ์ํ๋ค.
Comments