웹개발자공부/Git

Git rebase -i head~ 를 사용하여 commit 내용 합치기

박더그 2023. 1. 17. 04:12

git commit message를 정리하거나 내역을 합쳐야 할 때가 있습니다.

git rebase를 사용하여 message를 정리하고 commit을 합치는 방법을 공유합니다.

 

1. 세 번의 커밋이 있고 로컬폴더와 원격저장소는 동일한 상태입니다.

 

2. 터미널에 git rebase -i head~3를 입력합니다.

해당 명령어를 입력하면, 하기와 같은 화면이 출력됩니다(vim에디터).

합쳐져서 없어지길 원하는 commit 앞의 'pick'을 'squash'로 수정합니다.

터미널의 설명대로, squash을 적용하면 해당 commit 지점은 사라지고 내용은 그 전의 commit에 합쳐집니다.

코드작성 내용이 사라지는 것이 아니라, git 그래프의 commit 지점이 사라집니다.

해당commit의 앞 commit에 합쳐지는 것이 아니라 전의 commit에 합쳐지는 것에 유의합니다.

 

3. commit 내용을 수정합니다.

이전 화면에서 수정을 끝낸 후 wq을 입력하면 하기와 같은 화면이 출력됩니다.

git 그래프가 바뀌는데, 나중에 합쳐지니 신경쓰지 않아도 됩니다.

삭제가 필요한 commit message를 지워줍니다.

 

4. git push --force명령어를 입력합니다.

변경내용을 git push --force 명령어를 입력하여 원격저장소에 저장합니다.

하기와 같이 git message가 변경되고 commit이 합쳐진 것을 확인 할 수 있습니다.