6

私の理想的なワークフローは、次の手順で構成されます

  1. コードを編集する
  2. コンパイル
  3. git commit -a-m"コミットメッセージ"
  4. 新しいバイナリ、テストなどの実行を開始します(10分以上かかる場合があります)
  5. バイナリがまだ実行されている間に、新しい変更を開始します
  6. ステップ4が終了したら、ステップ5で導入した変更をコミットせずに、「テストFOOに失敗しました」などを追加して、ステップ3のコミットメッセージを編集します。

git commit -a --amend -m "new commit message"これは新しい変更もコミットするため、使用できません。ステージングや分岐に悩むかどうかはわかりません。新しい変更をコミットせずに、コミットメッセージを編集できればいいのにと思います。出来ますか?

4

3 に答える 3

15

ここに隠したり、他のことをしたりする必要はありません。

git commit --amend -m 'Your new message.'

-aインデックスに明示的に追加していない場合(git addたとえば、を使用して)、新しい変更をコミットしません(フラグがないことに注意してください)。

于 2012-07-02T03:13:16.400 に答える
4

ただ:

$ git stash
$ git commit --amend -m "Your Modified Message"
$ git stash apply
于 2012-07-01T23:35:05.770 に答える
2

次のものも使用できます。

git rebase -i HEAD^

これにより、テキストエディタが開き、最後のコミットを変更できます。pick行頭の単語をに置き換え、rewordファイルを保存して終了する必要があります。その後、新しいテキストエディタが開き、コミットメッセージを変更できます。

これは、提案されたアプローチよりも少し手間がかかるようgit commit --amendに聞こえますが、古いコミットでも機能します。したがって、過去10回のコミットで2つのメッセージを変更したい場合はgit rebase -i HEAD~10、単語pickを再度実行して変更しreword、両方のメッセージを変更できます。

好奇心旺盛な方のために:インタラクティブなリベース-iの略です。

于 2014-03-05T17:34:04.640 に答える