git cherry-pick은 다른 branch에 있는 commit을 선택하여 내 branch에 적용시킬 때 사용하는 명령어이다. rebase
도 원하는 commit을 선택할 수 있지만 현재 branch 위에서만 가능하다. 다른 branch의 commit을 가져오고 싶다면 해당 branch를 현재 branch로 merge한 후 rebase 해야한다.
✅ cherry-pick 은 내용을 가지고 있는 commit을 여러개 생성하기 때문에 꼭 사용해야 할때만 사용하는 것이 좋다.
만약 내가 c1에 있는 main 을 c7으로 옮기면서 c3, c4, c7을 복사하고 싶다면 어떤 코드를 사용해야할까?
git cherry-pick C3 C2 C4
위 코드를 사용하면 이미지와 같이 다른 branch로의 복사 및 이동을 처리할 수 있다.
내가 원하는 commit이 무엇인지 아는 경우에는 유용하지만 모르는 상황에서는 interactive rebase(rebase -i)를 사용하는 것이 좋다.
git rebase -i HEAD~4
다른 브랜치로 순서를 바꿔 복사하고 싶을경우에 위의 명령어를 쓰면 순서를 바꿔 제한적이게 복사할 수 있다.