-
[Git]내가 원하는 커밋만 고르고 싶다(Cherry-Pick)Git 2023. 8. 2. 21:23
내가 올린 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브랜치에 내가 수정한 코드가 올라가있었다면 얼마나 더 복잡했을지 알 수 없다
정말정말 브랜치를 잘 만들어서 써야겠다!!
'Git' 카테고리의 다른 글
[Git]git pull origin main할때 뜨는 경고 메세지 (0) 2023.10.13 [Git]commit 하지 않고 checkout하면? (0) 2023.07.26 [Git]pull 안하고 pr 올려서 conflict 떴을때 해결법 (0) 2023.07.21 [Git]branch작업이 끝났을때 (0) 2023.06.08 [Git]git pull 하려는데 오류가 뜬다(error: Your local changes to the following files would be overwritten by merge:) (0) 2023.06.07