Recent Posts
Recent Comments
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Today
Total
관리 메뉴

DH의 개발 공부로그

[Git] Git 커밋 메시지 수정하는 방법! (Change Commit Message) 본문

Git & Github

[Git] Git 커밋 메시지 수정하는 방법! (Change Commit Message)

DeveloperDH 2023. 3. 2. 22:47
728x90

이미 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 취소하기

728x90
Comments