막무가내 삽질 블로그

Learn about git rebase --interactive 본문

Git

Learn about git rebase --interactive

joong~ 2022. 6. 15. 23:42
728x90

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
Comments