DH의 개발 공부로그
[Git] Git 커밋 메시지 수정하는 방법! (Change Commit Message) 본문
이미 Commit을 한 메시지 수정하는 방법!
Git
을 사용하다 보면 커밋 메시지에 오타를 입력하거나 입력한 메시지를 수정하고 싶은 경우가 있을 수 있습니다.
그럴 때 사용하는 방법을 정리해보았습니다.
1. 가장 최근, 즉 마지막 Commit 메시지 수정하기
가장 최근, 마지막에 입력한 커밋 메시지를 수정하는 방법은 --amend 옵션을 사용합니다.
$ git commit --amend
git commit --amend
를 입력하면 커밋을 수정하는 창이 뜨는데,i
를 눌러서 메시지를 수정하고 완료한 후 esc
- :wq
(저장 + 창 닫기)를 해주면 됩니다.
또는 --amend
뒤에 바로 메시지를 입력하는 방법도 있습니다.
$ git commit --amend -m "메시지"
2. 이전 Commit 메시지 수정하기 & 한번에 여러 Commit 수정
우선 git log
를 입력하면 지금까지 커밋한 기록을 확인을 할 수 있습니다.
어떤 커밋을 수정을 할지 확인 후 다음 코드를 입력하면 됩니다.
$ git rebase -i HEAD~원하는개수
// 위에서 부터 세 번째 커밋을 수정하고 싶으면
$ git rebase -i HEAD~3
코드를 입력하면 다음과 같이 창이 뜹니다.
이제 수정하고 싶은 커밋 옆의 pick
이라는 문구를 reword
로 바꿔주고 esc
- :wq
하고 나가시면
커밋을 수정할 수 있는 창이 순서대로 띄워집니다.
pick 415f8ce 커밋메시지
reword ff77cfa 커밋메시지 // 수정할 커밋
reword 314bccf 커밋메시지 // 수정할 커밋
3. 이미 Push한 Commit 메시지 수정하기
이미 원격에 올라간 커밋 메시지를 수정하는 방법은, 다음의 코드를 이용해서 강제로 덮어쓰는 방법이 있습니다.
$ git push --force 브랜치이름
하지만 이런한 방법은 권장되지 않습니다.git
을 사용하는 이유는 협업하기 위해서가 크며, 위의 방식으로 덮어쓰는 방법으로 수정을 하면,
만약 push
된 커밋의 로그를 갖고 있던 다른 팀원들이 로그를 수동으로 수정을 해줘야 하기 때문입니다.
예외) Commit 취소 방법
// [방법 1] commit을 취소 후, 파일은 staged 상태로 보존
$ git reset --soft HEAD^
// [방법 2] commit을 취소 후, 파일들은 unstaged 상태로 보존
$ git reset --mixed HEAD^ // 기본 옵션
$ git reset HEAD^ // 위와 동일
$ git reset HEAD~2 // 마지막 2개의 commit을 취소
// [방법 3] commit을 취소 후, 파일들은 unstaged 상태로 삭제
$ git reset --hard HEAD^
참고
[git] 커밋 메세지 수정하기 (changing commit message)
GIT - Commit한 메세지 문구 수정하기 (Commit 메세지 오타 수정)
[Git] git add 취소하기, git commit 취소하기, git push 취소하기
'Git & Github' 카테고리의 다른 글
[Git] 특정 Commit만 원하는 브랜치에 Merge하기! - cherry-pick (0) | 2024.02.06 |
---|---|
[Git] Git Add 취소하기! (0) | 2023.03.17 |
[Git] git fatal: Unable to create 'C:/file_path/.git/index.lock': File exists. 오류 해결하기! (0) | 2023.01.04 |
[Git] 버전 관리 시스템, GIT 공부하기 (0) | 2022.09.14 |