[Git]내가 원하는 커밋만 고르고 싶다(Cherry-Pick)
내가 올린 pull request에 다른 팀원의 commit이 섞여 버렸다고 연락이 왔다.
이미 올린 pull request에서 commit을 빼는 방법은 모르겠다…
일단 나의 git은
-master(팀의 마스터 레포지토리와 같은 상태)
-MyPlaceSearch(내가 새로 만든 코드가 있는 브랜치)
이 상태였다
그런데 MyPlaceSearch에서 올린 PullRequest에 다른 팀원의 commit이 섞인것!! 이유는 아직 모르겠다…다음에 여쭤봐야지
그래서 알아낸 방법이 Cherry-Pick이었다
cherry-pick이란 케이크 위에 얹어져 있는 체리만 집어먹는 행위라는 의미로 ‘인기있는 특정 요소만 고른다’라는 뜻이다.
일단 사용 방법은
새로운 branch를 만들고
git cherry-pick [SHA]
를 하면 그 커밋이 반영된다
그런데 내가 한 실수는 master에서 브랜치를 새로 생성하는게 아니라 MyPlaceSearch에서 브랜치를 새로 생성한 것이다.
그렇게 되면 의미가 없기 때문에 위 처럼 cherry-pick이 실패한다
난 특정 브랜치를 만드는 것은 어디서 하든지 상관이 없을 줄 알았는데 중요했다
master에서 브랜치를 새로 만들어야지 master의 코드가 그대로 반영된 새로운 브랜치 하나가 생기는 것!
때문에 만들었던 브랜치를 삭제했다
master에서 브랜치를 새로 만들고 cherry-pick을 했더니 반영되었다!
짱~~~
얼마전까지는 브랜치 없이 작업했었는데
얼마나 위험하게 작업했었던건지 깨달았다
master브랜치에 내가 수정한 코드가 올라가있었다면 얼마나 더 복잡했을지 알 수 없다
정말정말 브랜치를 잘 만들어서 써야겠다!!