특정한 커밋을 다른 브랜치에 붙이고 싶을 때 사용
🤔 위 상태에서 m2에 t2 커밋때 생긴 변화만을 적용하고 싶다!
🤓 git checkout master; git cherry-pick 235b762
🤔 72d
에 생긴 변경사항을 master
에 적용하고 싶다!
🤓 72d
이전 커밋을 base
로, 72d
와 master
를 양쪽 side
로 해서 3-way merge
t2와 m2 충돌 → mt2로 수정해서 새로운 버전이 생성됨
이때 merge tool
쓰면 알아서 add
해줌, 안쓰면 직접 add
해주기
git cherry-pick --continue
커밋메세지 작성
🤔 문제상황
위 상황에서 A → B → C → T1 → T2 → M1 → M2
이렇게 선형적으로 만들고 싶다!
🤓 해결방안
rebase
: M1
의 base
를 t2
로 바꾸는 걸 의미
git checkout master; git rebase topic
→ master의 부모를 topic으로 바꾼다
m1
과 t3
를 합쳐서 새로운 m1
생성