130

--amendGit ユーザーとして、私は定期的に状況に遭遇します。1 つ以上のコミットを修正コミットに適合しない方法で再加工する必要があるということですrebase -i。通常、私は次のようなことをします

git reset HEAD~1
# hack, fix, hack
git commit -a
# argh .. do I need to retype my message?

私は、分別のある構成されたコミット メッセージを非常に真剣に受け止めています。それらには通常、変更の参照と正当化を含むより大きなテキストが含まれています。今まで、ソートされていない古いコミット メッセージを復元するための長いプロセスと、コピー アンド ペーストのプロセスにかなり悩まされていましgit refloggit log

これに対処するより良い方法はありますか?また、複数のコミットで構成されている場合、どうすればよいでしょうか?

編集:これについて少し考えた後、私が探しているのは、修正/修正コミットが適切でないコミットメッセージ用のgit stashのような機能だと思います。

4

4 に答える 4

176

の後git reset、このワンライナーでそれを行うことができます:

git commit --reuse-message=HEAD@{1}

またはさらに短い:

git commit -C HEAD@{1}

@ user2718704によって指定された他のオプションを使用できます。

于 2014-09-19T09:15:23.020 に答える
50

「git commit」コマンドを実行するときは、次のオプションを確認する必要があります。

再利用するには、

--reuse-message=<commit>

再利用時に編集するには、

--reedit-message=<commit>

著者を変更するには、

--reset-author
于 2013-08-26T19:18:07.740 に答える
11

ハッキング、修正、ハッキングして実行できるのにリセットする必要はありませんgit commit --amend --no-edit。したがって、元のコミット メッセージを保持します。

複数のコミットで機能させるには、最新の変更で一時的なコミットを作成し、インタラクティブなリベースを使用して、以前のコミット (適切なコミット メッセージを含む) を新しい一時的なコミットで押しつぶし、古いコミットのコミット メッセージを保持します。

于 2013-05-31T13:25:57.617 に答える
6

git commit --reset-author -c <commit>編集と現在の時刻を使用してコミット メッセージを再利用することを検討できます。

于 2013-06-02T13:10:05.213 に答える