학습 사이트에서 다음 레벨에 해당하는 내용이다.
level move<num>
cherry-pick
은 다른 브랜치나 커밋에서 원하는 커밋만 골라서 현재 브랜치에 적용한다.git cherry-pick <커밋 해시>
git cherry-pcik <커밋 해시1> <커밋 해시2>
// 여러 개의 커밋도 한 번에 cherry-pick할 수 있다.
git cherry-pick
을 실행하다보면 충돌(conflict)이 발생할 수 있다// 충돌 해결 후:
git add <conflict file>
git cherry-pick --continue
// cherry-pick을 중단하고 싶다면:
git cherry-pick --abort
// 현재 진행 중인 cherry-pick 작업을 취소하고 원래 상태로 돌아감
git rebase -i
는 인터랙티브 리베이스(interactive rebase)라고 불리며, Git에서 커밋 히스토리를 수정하거나 정리할 때 매우 유용하다. 일반 git rebase
와는 달리 -i
옵션을 사용하면 커밋을 수동으로 선택하고 관리할 수 있는 상호작용 모드로 들어간다. (UI 열어줌: Vim
등)pick
: 커밋을 그대로 유지한다.reword
: 커밋 메시지를 수정한다. 커밋 내용은 그대로지만, 메시지만 바꾸고 싶을 때 사용한다.edit
: 해당 커밋으로 일시적으로 이동하여 수정할 수 있다. 커밋 내용을 수정하거나 파일을 변경한 후 다시 진행할 수 있다.squash
(또는 s
): 이전 커밋과 병합한다. 커밋 내용을 하나로 합치면서 커밋 메시지도 수정할 수 있다.fixup
(또는 f
): 이전 커밋과 병합하되, 커밋 메시지를 남기지 않고 병합한다.drop
: 해당 커밋을 삭제한다.