Git が履歴のコミット メッセージを変更する方法

       

目次

最新のコミットを変更する

過去のいくつかのコミットを変更する


シナリオ: バッチで複数回送信する場合、送信されたメッセージが仕様に準拠していないことが突然判明し、それを変更したい場合は、それを使用できます

最新のコミットを変更する

最新のコミットを修正したいだけの場合は、次のコマンドを直接使用します。

git commit --amend 

これを変更すると、コマンド ラインが vim インターフェイスに入り、最後に送信されたメッセージを変更し、メッセージを変更して、終了することができます。次に、プッシュを強制します (git push origin branch name -f)。

過去のいくつかのコミットを変更する

過去のいくつかの Commit メッセージを変更したい場合、最新のものを変更するかどうかは少し面倒です。

たとえば、要件があり、3 つのコミットを送信した場合、最初に git log を実行してコミット レコードを表示します。

 

 初めて投稿したメッセージとその回数を修正したい

この時点で、次のコマンドを使用する必要があります

git rebase -i 9c8b8a837dc2d831983339924a6eba91ba9a77d3

Vim インターフェイスに入りました:

パラメータの説明:

  • pick(p) : コミットを保持
  • reword(r) : コミットを保持しますが、コミットのメッセージを変更する必要があります
  • edit(e) : コミットは保持しますが、コミットを停止して変更したい (ファイルの変更を含む)
  • squash(s) : コミットを前のコミットとマージします (複数のコミットを 1 つにマージします)
  • fixup(f) : このコミットを前のコミットとマージしますが、このコミットのコメント情報は保持したくありません
  • exec(x) : シェル コマンドを実行します
  • drop(d) : このコミットを破棄します

実際のニーズに応じてコマンドを選択します. ここで必要なのは、メッセージを変更するために使用される reword です.

ここで複数のレコードを変更する必要がある場合は、対応するコミット ID の前にあるピックを r に変更するだけです。ここでは 1 つだけを変更します。

 

変更が完了したら (ここでメッセージを変更する必要はありません)、esc を押してから、wq と入力して保存して終了します。

すると、d79776c の送信ページが表示されるので、メッセージを編集します。

 

同様に esc を押してから、wq と入力して保存し、終了します。

複数のアイテムを変更する場合は、各コミットの送信ページに順番に移動し、メッセージを順番に編集します. 最後の編集が完了すると、次のように出力されます:

refs/heads/master のリベースと更新に成功しました。

 これは、リベースが成功したことを意味します。もう一度 git ログを見てみましょう。

 git push origin master (ブランチ名) -f oh~ を忘れずに

おすすめ

転載: blog.csdn.net/cj_eryue/article/details/130361285