I_TStory/GIT
[Github 사용법 A to Z] 체리 픽: 필요한 커밋만 가져오기
귤치
2024. 8. 11. 15:15
브랜치 전략: 여러 개발자가 협업할 때 브랜치를 효과적으로 관리하기 위한 작업 흐름
코딩컨벤션과 같이 회사마다, 팀마다 조직에 맞는 규칙을 정하면 됨

우리 팀의 경우는 최근에 qa 서버가 생겨서 단계가 하나 추가됐는데 그전까지 latest 브랜치 역할을 main 브랜치가 하고
main 브랜치의 역할을 development 브랜치가 했다.
개인브랜치 => development브랜치 => main 브랜치의 순서로 머지된다.
커밋내용을 전부 병합하는 게 아니라 어떤 특정 커밋만 반영하고 싶을 때 체리픽을 쓴다.
latest 브랜치에 당장 고쳐야하는 버그가 있는데 main 브랜치의 다른 변경사항 말고 딱 그 버그를 고친 커밋만 반영해야할 때 체리픽을 사용합니다.
A브랜치의 커밋들중에 딱 하나만 B브랜치로 가져온다고 가정할 때 아래와 같이 입력한다.
git cherry-pick A브랜치에서 가져올 커밋의 커밋아이디7자리
이렇게 체리픽으로 가져온 후 B브랜치에서 git log로 확인해보면 A브랜치의 커밋이 가져와지는데
이때, A브랜치와 B브랜치의 커밋아이디는 다르다. (git log로 확인해보면 알 거다)
체리픽으로 커밋 여러개를 가져올 때는
git cherry-pick 커밋번호1 커밋번호2 ...
이렇게 한칸 띄고 다음 커밋해시7자리 입력해주면 된다.
+
git cherry-pick --continue
: 충돌로 중지되었던 cherry-pick을 재진행
git cherry-pick --abort
: 체리픽 중단하고 이전 상태로 다시 돌아감