커밋메시지 수정하기
처음 GIT을 사용하다 보면 신경 써서 commit을 했음에도 수정해야 하는 경우가 종종 생깁니다.
이 경우 별도의 수정 과정을 거쳐야 커밋메시지가 수정되는데요.
커밋메시지를 잘 못 작성한 경우 local 에서 꼭 수정을 마쳐야 하고, github 등으로 push 된 경우에는 손대지 않는 것이 좋습니다. 자세한 것은 다음에서 설명하도록 할게요.
1. local에서 잘 못 적은 경우
1) 가장 최근의 커밋 메시지 변경하기
만일 가장 최근 커밋 메시지만 변경하고 싶은 경우 커맨드에 아래 amend 명령어를 입력하면 됩니다.
git commit --amend
해당 명령어를 입력하면, 아래와 같은 메시지가 뜨며 커밋 메시지를 수정할 수 있습니다.
첫번째 줄에 커밋 메시지를 확인할 수 있으나 곧바로 수정은 안됩니다.
키보드 a 버튼이나 i 버튼을 눌러 -- INSERT -- 로 변경한 후에 가능합니다.
이렇에 하단이 INSERT로 변경이 되면 이름을 수정한 다음, 키보드 esc를 누르면 INSERT 가 종료됩니다.
변경한 내용을 저장하려면 :wq! 입력 후 엔터를 눌러 빠져나오면 저장됩니다.
만일, 저장을 원하지 않을 경우 :q! 를 입력 후 빠져나오면 됩니다.
2) 이전 커밋 또는 여러개의 커밋 메시지 수정하기
바로 전 커밋 외에 여러개의 커밋을 수정해야 하는 경우, rebase 명령어를 수행해야 합니다.
아래 예시와 같이 작성하면 됩니다.
git rebase -i HEAD~3
위 명령어는 세번째 전 커밋 했던 메시지를 수정하고 싶을 때 작성하는 명령어입니다.
세번째 전부터 제일 최근 것까지 수정할 수 있습니다.
물론 마지막 3이라는 숫자는 다른 숫자로 변경이 가능합니다.
rebase 명령어를 입력하면 이렇게 커밋을 거슬러 올라가게 됩니다.
3개의 커밋 메시지를 볼 수 있으며 시간 순서는 첫 줄이 과거에 가깝고 마지막 줄이 현재에 가까운 순 입니다.
여기서도 커밋 메시지를 바로 수정하지는 못하고 변경할 커밋 메시지를 지정해줘야 합니다.
a를 눌러 INSERT 입력화면으로 변경해주고, 변경할 커밋 앞에 pick을 지우고 reword를 입력합니다.
그럼 이와같이 갈색으로 변경이 됩니다. esc를 눌러 INSERT에서 빠져나오고,
:wq! 입력 후 엔터를 누르면 이제 커밋 메시지를 수정할 수 있는 페이지가 뜹니다.
여기서는 앞에와 동일하게 a를 눌러 INSERT -> 값 수정 -> ESC -> :wq! 순으로 변경하면 저장됩니다.
만일 여러 개를 reword 했다면 :wq! 이후 다음 수정할 커밋 메시지가 나옵니다.
주의할 점은 수정 한 커밋 이후 작성한 모든 커밋이 새로운 log가 생성된다는 것입니다.
(커밋한 시간은 맨 처음 그대로임)
2. 이미 push가 된 경우
이번에는 push가 된 경우입니다.
이미 push가 된 경우에는 메시지를 직접 수정하는 방법은 없습니다.
force 명령어를 통해 강제로 덮어씌우는 것인데, 본인만 작업하는 브랜치 외엔 건드리지 않는 것이 좋습니다.
이는 바로 위에 설명했듯이, 수정한 커밋 부터 log가 새로 생성되기 때문입니다.
만일 force를 사용하게 되면 해당 branch에서 작업하던 다른 사람은 연동이 끊기게 됩니다.
개개인이 일일이 pull 작업을 다시 해야만 합니다.(remote -> local 로 옮겨 일치시키는 작업)
부득이하게 수정해야한다면, 아래와 같이 하면 됩니다.
먼저 local에서 reword를 통해 local에서 커밋 메시지를 수정 한 다음, force로 덮어쓰기를 하면 됩니다.
git push --force 브랜치이름
만일 origin이 따로 있다면 뒷부분이 origin 브랜치이름 이 되겠죠.
이렇게 하면 push 된 곳에서도 커밋 메시지가 수정 된 것을 확인 할 수 있습니다.
force 명령어는 협업자가 있을 경우 사용해서는 안되는 명령어이기 때문에 지양하시길 권장 드립니다.
또한 저같은 경우 commit 작성 시간이 바뀌어 애먹는 등 문제도 있었습니다.
(아직 정확히 원인을 모름..)
이상으로 간단히 커밋 메시지 수정 방법에 대해 설명 드렸습니다.
내용이 잘못 되었거나 부실한 경우 댓글로 피드백 주시면 적극 반영하도록 하겠습니다.
읽어주셔서 감사합니다
'TOOL > GIT' 카테고리의 다른 글
GIT 사용법 간단 정리 (0) | 2024.07.27 |
---|
남에게 설명할 때 비로소 자신의 지식이 된다.
포스팅이 도움되셨다면 하트❤️ 또는 구독👍🏻 부탁드립니다!! 잘못된 정보가 있다면 댓글로 알려주세요.