정의
내가 생각하기에 가장 좋은 것만을 빼가는 것을 의미
즉, 다 죽어가는 branch에서 괜찮은 부분만 빼서 살릴 수 있는 방법을 탐구하는 것
개발을 하다가 망해서 되돌아가기에 너무 멀리 왔지만 필요한 것만 골라서 사용하고 싶다
새로운 branch에서 commit함
But 하다가 망해서 branch를 버려야 하는 상황
그러나 commit 2b는 괜찮은 기능이 있어서 사용하고 싶음
1. 로그인 파일에서 기능 추가하기 (페이스북으로 로그인)
2. 로그인 branch 생성하고 commit
3. 로그인 파일에서 기능 추가하기 (애플로 로그인)
4. 로그인 branch에 commit
5. 로그인 파일에서 기능 추가하기 (카카오톡으로 로그인)
6. 로그인 branch에 commit
7. login branch가 망했는데 apple으로 로그인 기능은 쓸만한 경우
8. master branch에서 new-login branch를 생성
9. 로그인 파일에서 기능 추가하기 (google로 로그인)
10. new-login branch에 commit
11. add apple으로 로그인을 cherry pick
12. 같은 파일이기 때문에 충돌 발생
13. 원하는 기능 선택하여 save
14. 이후 add apple로 로그인으로 commit
15. 나중에 카카오톡으로 로그인도 cherry pick
16. 동일하게 하여 add kakaotalk 로그인 commit
17. master branch에서 follow branch 생성
18. 팔로우 파일에서 기능 추가(facebook 팔로우 기능)하고 commit
19. follow branch에서 add facebook으로 로그인이 필요하여 cherry pick