web-dev-qa-db-ja.com

SourceTreeでプッシュマージをGitリバースコミット

誤ってブランチをマージし、「変更をすぐにプッシュする」をチェックしてもらいました。残念ながら、マージエラーが発生したため、逆コミットして削除したくありません。ただし、SourceTreeで実行するたびに、次のエラーが発生します。

エラー:コミットXはマージですが、-mオプションが指定されていません。致命的:元に戻すことができませんでした

これを行う方法はありますか、またはこれに端末を使用する必要がありますか?それについて読んでいますが、この特定のケースの解決策を見つけることができませんでした。

8
Ogglas

ブランチ(またはマスター)をマージ前の状態に戻す(ハード復帰)方法についての回答を見つけることができます。すべてをその状態に戻しても問題がない場合は、問題ありません。しかし、通常、マージ後に行われたコミットを保持しながら、機能ブランチのマージを元に戻す必要があります。

ただしてください:

git revert -m 1 [copy-paste-the-id-of-the-merge-commit-here]

必要に応じて、競合を編集してコミットします。

編集:はい、マージコミットを元に戻す場合、SourceTreeは-m1引数を渡す必要があります。

4
edgraaff

最新のコミットを右クリックして、次をクリックすることをお勧めします。

「現在のブランチをこのコミットにリセットする」

enter image description here

プロンプトが表示されたら、ハードモードを選択します。

enter image description here

重要な注意:ハードモードをクリックすると、作業コピーの変更はすべて破棄されます。

お役に立てれば!

乾杯!

2
Cyan Baltazar