막무가내 삽질 블로그
Learn about git rebase --interactive 본문
squash, fixup 차이점을 알아볼 겸 interactive 옵션 중 자주 사용하는 몇 가지를 더 살펴봄
git rebase -i commit hash
수정하고 싶은 커밋의 앞에 커밋해시를 입력
ex) 3번째 커밋 이력 수정하고 싶으면 직전 커밋(2)을 해시를 입력
git rebase -i HEAD~숫자
몇개의 커밋을 보여주는지
p, pick <commit> = use commit
수정하지 않고 그냥 사용하겠다
pick을 이용해서 커밋 순서를 재정렬하거나, 커밋을 삭제하는 용도로 사용할 수도 있음
해당 커밋이 포함된 라인을 지운 후 종료하면 커밋이 삭제 됨
r, reword <commit> = use commit, but edit the commit message
커밋 메세지를 수정
e, edit <commit> = use commit, but stop for amending
커밋 메세지와 작업 내용을 수정할 수도 있고, 하나의 커밋을 두 개로 분리하거나 할 수 있음
squash, fixup
s, squash <commit> = use commit, but meld into previous commit
f, fixup <commit> = like "squash", but discard this commit's log message
두 개의 차이점은 squash는 각 커밋들의 메세지가 합쳐지고
fixup은 이전의 커밋 메세지만 남는 차이점이 있다.
squash 로 커밋 메세지를 합쳐질 때 squash 옵션을 준 커밋 메세지는 commit description 으로 들어간다. (body)
d, drop <commit> = remove commit
커밋을 명시적으로 삭제함(pick 명령어로 삭제하는 것과 동일)
'Git' 카테고리의 다른 글
깃허브 퍼블릭 주소에서 원하는 브랜치 가져오기 (3) | 2020.11.19 |
---|---|
Git 정리 #2 (3) | 2020.06.29 |
Git 정리 #1 (2) | 2020.06.29 |