3

次の 3 つのコミットがあるとします。

c - Third Commit
b - Second Commit
a - First Commit

次のコマンドを使用してインタラクティブなリベースを実行します (別の StackOverflow スレッドで説明されているように)

$ git rebase --interactive bbc643cd^

デフォルトのエディターで、コミットを変更したい行の「pick」を「edit」に変更します。変更を加えてから、以前と同じメッセージでコミットします。

$ git commit --all --amend --no-edit

コミットを変更し、その後

$ git rebase --continue

問題は、完了したときに、コミットが 1 つのコミット (a私の例では最も古いコミット) にまとめられている場合があることです。

解決すべきマージ競合がある場合に何か関係があるように見えるので、解決後に間違って続行している可能性があります。マージの競合を解決した後、単純にANDを実行する必要があるgit rebase --continueのか​​、両方を実行する必要があるのか​​ わかりません。どちらの場合も、最後にコミットをマージしたようですが、よくわかりません。$ git commit --all --amend --no-editgit rebase --continue

私は何を間違っていますか?

4

1 に答える 1

4

実際、Tobia Tesan がコメントで述べたように、この--amendオプションは、新しいファイルを作成する代わりに、最後のコミットにファイルを追加します。

このオプションを削除すると、うまく機能するはずです。

于 2015-09-22T19:19:43.277 に答える