2

私はいくつかのコードの主要なリファクタリングを行い、その過程で何度かコミットしました。これはまだ公開リポジトリにプッシュされていません。プッシュする前に、コミットを論理ユニットに再編成したいと思います。問題は、コミットを潰すだけでなく、ハンクを他のコミットに再編成したいということです。

明確にするために、私はハンクA1、A2、A3でAをコミットし、ハンクB1、B2、B3でBをコミットしました。Aより前のバージョンをチェックアウトし、ハンクA1、A2、B2を含む新しいコミットCと、ハンクB1、B3、A3を含む新しいコミットDを作成したいと思います。

前もって感謝します。

4

2 に答える 2

5

git rebaseコミットの分割を見てください。

于 2010-10-21T10:13:32.730 に答える
4

完全に異なるコミットのセットが必要なようです。その場合は、単にオリジンに戻って(たとえば、git reset origin / master)、完了するまでgitadd-pとgitcommitを繰り返し使用します。必要に応じて、git stashを使用してコミット後に各コミットをテストし、git--amendを使用して間違いを修正できます。

または、gitrebase-iで実際にコミットを分割することもできます。マニュアルページを読んでください。難しいことではありませんが、少し面倒です。

于 2010-10-21T18:52:53.967 に答える