Ops, Infra, etc/🐙 Git
git cherry-pick
DarrenKwonDev
2021. 12. 27. 22:30
회사 일이 아니었으면 쓸 일이 전혀 없었던 명령어다. 상황은 이렇다.
- master로부터 checkout => refactor-components-master라는 리팩토링 용 branch 생성
- 각자 refactoring한 다음 경쟁적으로 refactor-components-master에 merge
- A라는 사람은 refactor-components-A라는 작업을 했다.
- B라는 사람은 refactor-components-B라는 작업을 했다.
- ...
- X라는 사람은 refactor-components-X라는 작업을 했다.
- 그런데 하다보니 리뷰가 늦어져서 병합이 늦어지게 된 (본인)이 refactor-components-master에 merge하려고 보니 conflict 난 파일 갯수만 100개가 넘어갔다.
여기서 100개가 넘는 conflict를 회피하는 방법을 생각해봤는데 2가지 정도이다.
1. refactor-components-master에서 체크아웃해서 처음부터 작성하기
2. refactor-components-master에서 체크아웃해서 cherrypick하기
당연히 2번이 합리적이다.
git cherry-pick [hash]
git cherry-pick [from]..[to]