0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

リモートへpushしてしまったコミットのコメントを変更する方法

Last updated at Posted at 2020-06-18

やり方

1. 該当コミットを指定

git rebase で該当コミットを指定します。
直近5つのコミットから指定したい場合はこう。

$ git rebase -i HEAD~5

直近1つならこう。

$ git rebase -i HEAD~1

すると、編集画面になるので、

pick 8e2ab3a 最初のコミット
pick 5588727 コミット2回目
pick c8e517d コミット3回目
pick 8466de1 コミット3回目
pick 5533d64 コミット5回目

# Rebase 2abbcb9..5533d64 onto 8466de1 (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

変更したいコミットを edit(eでもOK) に変更します。

pick 8e2ab3a 最初のコミット
pick 5588727 コミット2回目
pick c8e517d コミット3回目
edit 8466de1 コミット3回目
pick 5533d64 コミット5回目

# Rebase 2abbcb9..5533d64 onto 8466de1 (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

編集が終わったら、保存(:wqやZZなど)して閉じます。

$ git rebase -i HEAD~5
Stopped at 8466de1...  hogeeeeeeeeeeeeee.md追加
You can amend the commit now, with

  git commit --amend

Once you are satisfied with your changes, run

  git rebase --continue

2. 該当コミットのコメントを編集

まずは commit --amend でコミットを編集します。

$ git commit --amend
コミット3回目
  
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date:      Wed Jun 17 00:38:32 2020 +0900

編集が終わったら、保存(:wqやZZなど)して閉じます。

コミット4回目
  
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date:      Wed Jun 17 00:38:32 2020 +0900

3. コミットのコメント編集を終了

rebase で編集を終了します。

$ git rebase --continue

以下が表示されたらOK。

$ git rebase --continue
Successfully rebased and updated refs/heads/master.

4. リモートにpush!

最後に、変更したコミットをリモートへpushします。
普通のpushだと拒否られるので -f で強制的にpush。

git push -f origin master

以上!

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?