目的
pushをした後にコメントが変更をしたい場面があったため、その方法を残しておきます。
注意点
- 時系列などがバラバラになってしまいます。
- 他の人との共有のブランチで実行すると他の人が
push出来ない等の不具合が発生する可能性があります。
実行方法
1.コメントを変更したいcommitを指定する。
過去のcommitを指定するためには、rebaseコマンドを使用する。
参考
$ git rebase -i HEAD~5
HEAD~◯に数字を入れることで◯個前のcommitを指定するか選べる。
実際の実行例
pick xxxxxx1 hoge1
pick xxxxxx2 hoge2
pick xxxxxx3 hoge3
pick xxxxxx4 test4
pick xxxxxx5 test5
# Rebase xxxxxx1..xxxxxx5 onto xxxxxx5 (5 commands)
#
# 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
# d, drop = remove commit
#
# 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.
上の画面では、対象のcommitに対して行いたいコマンドを選ぶことが出来る。
編集を行いたい場合は、コマンドを[pick]→[e]or[edit]に変更し閉じる。
2.commitのコメントを変更する。
commitのコメントを変更したい場合は、git commit –amendを実行する。
実際の実行例
hint: Waiting for your editor to close the file...
test5
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date: xxx xxx x xx:xx:xx 2020 +0900
#
# interactive rebase in progress; onto xxxxxx5
# Last command done (1 command done):
# edit xxxxxxx5 test5
# Next commands to do (4 remaining commands):
# edit xxxxxx1 test1
# edit xxxxxx2 test4
# You are currently editing a commit while rebasing branch 'branch' onn 'xxxxxx5'.
#
# Changes to be committed:
#
例の場合だと一番上の「test5」を変更したいコメントにし閉じる。
以下のような画面が出てくれば変更が成功している。
[detached HEAD xxxxxx5] test6
Date: xxx xxx x xx:xx:xx 2020 +0900
1 file changed, 1 insertions(+)
3.コメントの変更を終了する。
コメントの変更を確定するにはgit rebase --continueを実行する。
以下のような画面が出てくれば変更が確定している。
Successfully rebased and updated refs/heads/branch.
4.変更をpushする。
最後に変更をpushをして完了。
※注意点としては普通のpushだと正常にpushが出来ないため、
-fコマンドをつけて実行する。
参考
$ git push -f origin branch名