これはちょっと複雑で、おそらく非常に具体的です。説明しようとしましょう。Git commit、masterからのrebase、そして元のcommitへの小さな変更
は、私は私のローカルドライブにこのGitのレポを引くとしましょう。次に、いくつかの変更を行います。これらの変更は多くの異なるファイルにあり、異なる目標を目指しているため、コミットは複数です。これらの変更によるコミットがハッシュ値ab001 to ab005
(5つのコミット)であるとします。そして、私は一連のパッチを作成し、レビューのためにコミュニティに送ります。
はその間、私はマスターレポは、ビットを終了し変更されたことを認識し、私はリベースする必要があるとします。私はそれをして、すべての葛藤を解決する。今これは別のコミットにつながり、ab006
と言うことができます。
すべてが良好です。
しかし、次の日、私は以前のパッチ(それらの5つのコミットして1)にコメントやアドバイスを得ることができます。そこで、私はこれらのコメントに応じていくつかの変更を加え、古いパッチのv2
(バージョン2)(つまり5つのコミット)を送信しなければなりません。だから私はこれら5つのコミットをコミットせず、変更を加えて再度コミットし、別のパッチを作成しなければなりません。リベースがあるので
は、どのように私はHEAD
にコミット、私はuncommitことはできませんが、これをやって行きます。私は本当にこれについて混乱しています。
gitのドキュメントには、あなたが持っているものを修正するのではなく、新しいコミットに変更を加えなければならないことが示唆されています。 「Upstream Rebaseからの回復」、https://git-scm.com/docs/git-rebase – declan
@declan、Trueを参照してください。しかし、小さな変更や提案のたびに、増分コミットを送ることはできません。それは見苦しいように見え、校閲者は(マージされていないので)以前の変更の把握を失います。 – Haris
もちろん、十分です。 – declan