예전에 커밋한 메시지를 수정하는 방법을 알아보자

 

 

1. 수정을 원하는 커밋이 존재하는 곳까지 HEAD로 부터 지정

git rebase -i HEAD~5

 

그러면 아래와 같이 편집을 할 수 있는데, 수정을 원하는 커밋에 pick 대신 edit(또는 e)를 써준다!
(커밋 메시지 수정 외의 다른 기능도 있음 - 아래 명령어 참조)

pick cc5605d test1
e 487bd6b test2
e 73bda22 test3
pick 0ce101f test4
pick a2198fc test5

# Rebase bb0d4f2..a2198fc onto bb0d4f2 (5 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# .       create a merge commit using the original merge commit's
# .       message (or the oneline, if no original merge commit was
# .       specified). Use -c <commit> to reword the commit message.
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out

 

2. 위 vi를 수정하고 저장하면 edit(또는 e)로 지정한 커밋 메시지로 차례차례 옮겨진다.

아래 명령어를 입력하여 현재 위치에 있는 메시지 수정

git commit -amend

 

수정이 완료가 되었으면 아래 명령어 입력. 아래 명령어를 입력하면 다음 수정하는 커밋으로 HEAD가 이동된다.

git rebase --continue

 

수정을 원하는 커밋이 모두 수정 완료되면

Successfully rebased and updated refs/heads/branch_name.

 

이렇게 나오면 정상적으로 수정 끝!

 

 

'Git' 카테고리의 다른 글

[Git] 정의 및 사용방법  (0) 2018.05.29
[Git] Remote branch 이름 변경하기  (1) 2016.04.06
[Git] .gitignore 적용 안될 경우 해결방법  (0) 2015.03.31

+ Recent posts