TIL - Git | Cherry pick

한성봉·2021년 7월 5일
0

Git | Cherry pick

오늘은 Git 명령어 중 Cherry pick이란 명령어 대해서 알아보자.
이번 명령어는 나의 실수를 통해 알게되었다. 프로젝트 도중 기능 작업하던 브랜치에서 작업을 완료하고 다른 기능을 작업해야하는 상황이 있었는데 main 브랜치에서 생성한 것이 아니라 해당 작업 브랜치에서 다른 브랜치를 생성하여 일어났던 일이다.

이것은 브랜치가 꼬이고 난 후 어느정도 푼 후에 사진이다 처음 꼬인 사진은 해결뒤라 찍지못했다. ㅜㅜ

어쩄든 꼬인 브랜치는 다른 기능브랜치에서 흰색 줄이 나와 브랜치가 생성된 기이한 모습을 하고 있었다.

그랬을 때 해결 방법은 기능브랜치 -> 기능브랜치 로 만든 브랜치와 비슷한 이름으로 다시 메인에서 브랜치를 생성한다. 그 뒤 실수로 만든 브랜치의 commit 내역을 메인에서 만든 브랜치로 전부 옮기는 작업을 실행한뒤 문제의 브랜치를 삭제하면 끝 그 과정에서 필요한 명령어는 다음과 같다.

commit

Git cherry pick

git cherry pick <commit 번호>
git cherry pick <commit 번호> <commit 번호> <commit 번호> 여러 개 가능

git commit 내역에는 다음과 같이 모두 log 기록 번호가 남는 것을 볼 수 있다. 저 기록을 문제의 브랜치에서 새로운 브랜치로 이동하여주면 끝.!!

이후 여러 커밋은 rebase하여 하나의 커밋으로 합쳐주면 완료!!

그럼 다음과 같은 깔끔한 커밋 내역을 가지고 모두 메인에서 파생되어 나온 브랜치만 존재하는 것을 볼 수 있다.

0개의 댓글