1

私は Git にあまり詳しくありません。私は基本的なことを知っていますが、それはそれについてです。

とにかく、私の友人は、これらの 3 つのブランチをマージする方法を教えてくれました。ただし、彼は私にmergetoolsの部分を自分で実行させました。マージを正しく行いませんでしたが、既に変更をプッシュしていました。変更を元に戻し、3 つの異なるブランチに戻ってから再度マージする方法はありますか?

編集*

問題があるかどうかは 100% わかりませんが、2 つのブランチは上流からのものです。

4

2 に答える 2

1

たとえば、最後のクリーンな状態 (つまり、マージ前のコミット) のコミット ID を見つけて、git logそれにリセットします。

git reset --hard abcdef01

その後、古い状態を強制的にプッシュします。

git push -f origin

注意: reset --hardはステージングされていない変更を破棄するため、クリーンな作業ディレクトリを用意してください。わからgit stashない場合は実行してください。さらに、これは、マージされた状態でそれ以上の作業を行っていない場合、つまり、それ以降何もコミットしていない場合にのみ、問題なく機能します。

マニュアルページ:

于 2011-07-11T14:29:22.913 に答える
-1

を使用することもできますgit revert <>が、最後のクリーン コミットと現在の の間に非常に多くのコミットが存在しますhead。私は git コマンドの多くを知りませんが、間にあるすべてのコミットを出力する方法が必要です。SHA のみを抽出してすべて元に戻すスクリプトを作成することができます。

ただし、これについては 100% 確信が持てません。:)

于 2011-07-11T14:50:42.390 に答える