0

1 人の開発者がブランチfeature2を にfeature1マージして結果をプッシュしましたが、いくつかのマージ競合を誤って解決しました。私はからコミットをチェックアウトし、コミットAからfeature1正しくマージしましBfeature2AそしてB、他の開発者がマージしたのと同じコミットです)。

マージの結果をデタッチされたヘッドにコミットしましたが、他の開発者のマージ コミットを元に戻し、自分のコミットを に適用する必要がありますfeature1。これどうやってするの?

4

1 に答える 1

1

危険な方法:

1)デタッチされたコミットにタグを付けますgit tag temp

2)feature1ブランチをチェックアウトします。

3)を使用git reset --hard tempして、ブランチのローカルコピーを移動し、コミットをポイントします。

4)git push -f origin feature1の危険なバージョンを上書きするために使用しますorigin

5)。でタグを削除しgit tag -d tempます。

これらすべてを注意深く行い、使用gitkして何をしているかを確認してください。その時点で他の人が使用していないことを確認してくださいorigin。あなたが妄想的である場合は、これらすべてを開始する前に、同僚のコミットにもタグを付けてください(混乱した場合に備えて良いアイデアです)。

重要:他の誰かがあなたの同僚のマージに基づいて作業を行っている場合は、このようにする前に非常によく考えてください。誰もがあなたの新しいコミットにリベースする必要があります。

于 2012-10-17T19:14:51.767 に答える