Git
Chapters ▾ 2nd Edition

A3.8 Appendix C: Git 명령어 - Patch 하기

Patch 하기

커밋 묶음을 Patch 묶음처럼 다루는 것이 편할 때가 있다. 이럴 때를 위해서 Git에는 커밋 몇 개만 추출하고 적용하고 관리하는 명령어가 있다. 이 명령어는 브랜치를 관리할 때 좋다.

git cherry-pick

git cherry-pick 명령은 커밋 하나만 가져올 때 사용한다. 현 브랜치의 새 커밋으로 적용된다. 이 명령은 브랜치를 통째로 Merge 하기 보다 커밋 한두 개 정도만 Merge 하고 싶을 때 좋다.

이 명령으로 커밋을 고르는 것은 Rebase와 Cherry-Pick 워크플로에서 설명한다.

git rebase

git rebase 명령은 `check-pick`을 여러 번 실행해 주는 것과 같다. 연결된 커밋을 그 순서대로 한방에 Cherry-pick 해온다.

Rebase는 Rebase 하기에서 설명한다. 이미 공개한 브랜치를 Rebase 할 때 생기는 문제도 다룬다.

Replace에서는 히스토리를 두 저장소로 분리하는 것을 보여주는데 여기서 --onto 옵션을 사용한다.

Rerere에서 Rebase 하면서 발생한 충돌을 어떻게 해결하는지 보여준다.

-i 옵션을 주고 이 명령을 실행하면 대화형으로 실행할 수 있다. 커밋 메시지를 여러 개 수정하기에서 설명한다.

git revert

git revert 명령은 git cherry-pick 명령의 반대로 볼 수 있다. 해당 커밋을 되돌리는 커밋을 새로 생성한다.

커밋 되돌리기에서 Merge 커밋을 되돌리는 것을 보여준다.