2017-02-01 5 views
2

画像には、最近のいくつかのコミットより前に行ったマージを含む、マージ履歴が表示されます。後で実行したコミットを維持しながら、このマージを元に戻すことはできますか?私はマスターと合併しなければならないときに発展した。他のコミットが行われた後のGit - Unmerge

enter image description here

答えて

1

この種のことはhere覆われています。

あなたはおそらく、あなたの状況に応じてrevertmergeにする必要があります。理論的には

+0

私はこの参照を見たが、私が発見しましたそれは少し混乱している。私は使用する命令を理解できませんでした。 –

+0

@RafaelReisは 'git revert -m 1 [sha]'を使います。あなたは 'git log'を使ってshaを見つけることができます – tehp

1

、あなたは最初のコミットの一覧を取得するgit logを実行することができます。お持ちでない場合はその後、あなたが作成するgit branch <branch name>を使用し、(別のブランチにgit checkoutを実行します。最後に、git reset --hard <commit ID for your commit of interest>を実行します。これは、永久にあなたのマージは、あなたが選択した時点からコミット取り消されます。

+0

これは見えません。私は、マージ後にコミットiveを保つ必要があります。私はちょうどマージで追加されたファイルをしたくないです。あなたのソリューションの継ぎ目は、マージの前に戻って行くので、私はコミットを失うだろう。 –

1

あなたが

を試すことができます <sha1>がマージされ
git revert -m 1 <sha1> 

はあなたを取り除きたいコミットここで説明

:。 https://mijingo.com/blog/reverting-a-git-merge

+0

これは、後で作られたコミットを保存する予定ですか? –

+0

復帰は、復帰したコミットのCONTENTを削除する以外は何もしないでください。しかし、これはまた、実際にマージを削除しないことを意味します。元に戻すだけです。 – Martin

関連する問題