-
git rebase로 커밋 변경하기공부한다/git 2021. 4. 15. 23:43
오늘은 commit을 변경하는 방법을 알아보도록 하겠다! 저번에도 했으니 이번이 두번째 글이 되겠다.
git rebase
git rebase -i HEAD~3
push전에 commit을 이쁘게 정리할 때, commit을 여러 개 수정할 떄 사용한다.
(여기서 3은 수정할 커밋 갯수를 의미한다. 다른 숫자를 써도 된다.)
이 명령은 Rebase 하는 것이기 때문에 메시지의 수정 여부에 관계없이 HEAD~3..HEAD 범위에 있는 모든 커밋을 수정한다.
이미 중앙서버에 Push 한 커밋은 절대 고치지 말아야 한다. Push 한 커밋을 Rebase 하면 결국 같은 내용을 두 번 Push 하는 것이기 때문에 다른 개발자들이 혼란스러워 할 것이다.
실행하면 Git은 수정하려는 커밋 목록이 첨부된 스크립트를 텍스트 편집기로 열어준다.
텍스트 편집기에 명령어가 적혀 있을 것이다.
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell명령어를 이용해서 커밋 순서 바꾸기, 커밋 합치기, 커밋 분리하기, 모든 커밋에서 파일을 제거하기 등을 할 수 있다.
나는 커밋 메세지 수정을 해보았는데, r(rebase)을 눌러 커밋메세지를 수정해 보았다.
수정을 완료한 후에 :wq!를 누르고 엔터를 누르면 텍스트 편집기가 종료되고 변경된 내용이 commit 히스토리에 저장된다.
참고:
'공부한다 > git' 카테고리의 다른 글
push하지 않은 commit 수정하기 (0) 2021.04.04 git branch (0) 2021.04.04 git 기초 단어 및 개념 (0) 2021.04.04