SVNでは、コミットを逆マージするのは簡単ですが、Gitでそれを行う方法は?私が正しくあなたを理解していれば、あなたが以前のバックアウトするGit:コミットを逆マージする方法は?
svn merge -rn:n-1
をやって話している
SVNでは、コミットを逆マージするのは簡単ですが、Gitでそれを行う方法は?私が正しくあなたを理解していれば、あなたが以前のバックアウトするGit:コミットを逆マージする方法は?
svn merge -rn:n-1
をやって話している
を探している、コミット過去のコミットの変更を元に戻す新しいコミットを作成するには、次のようにします:
$ git revert <commit>
実際にはリベースしてからリセットすることで、過去の任意のポイントからコミットを削除することはできますが、すでにコミットを別のリポジトリにプッシュしている(または他の誰かがあなたから引っ張ってしまった)場合は、本当にやりたくありません。
元に戻す変更を指定するには、 'git revert 'に' -m
Jakub:マージコミットを元に戻すのは当然ですが、Subversionの用語では「逆マージ」は実際にはコミットを元に戻すための名前です。 –
'-m'を使うと、マージされていないブランチからの将来のマージは、そのマージの前の変更は含まれないことに注意してください。結合されていないブランチを再統合する適切な方法については、http://schacon.github.com/git/howto/revert-a-faulty-merge.txtを参照してください。 –
その場合、あなたはおそらくへ
git revert
マージコミットを元に戻すには、git revert -mを使用する必要があります。あなたがするだろう、
git revert -m 1 HEAD
を最後にコミットする前にコミットマージを戻すには:
git revert -m 1 HEAD^
使用をしたがって、たとえば、元に戻すために、最近のほとんどは、あなたが使用する番号1で親を使用してコミットマージ親を見るにはgit show <merge commit SHA1>
、数字は表示される順番です。 Merge: e4c54b3 4725ad2
Gitのマージのドキュメント: http://schacon.github.com/git/git-merge.html
gitのマージ議論(紛らわしいが、非常に詳細): http://schacon.github.com/git/howto/revert-a-faulty-merge.txt
親に関連付けられた「番号」を取得するにはどうすればよいですか?ブランチには固有の数値「ID」がありますか? – daniyalzade
親を見るには 'git show
例:' git revert -m 1 SHA1' そのコマンドは、頭の前にいくつかのマージコミットであったマージコミットを元に戻し、下に多くのコミットを持っていました。 –
git reset --hard HEAD^
使用上記のコマンドは、変更をマージ元に戻します。
これは、元のポスターが要求していることをしないマージコミットをスローします。 OPは前回の変更を元に戻すために逆パッチを実行しようとしていますが、以前の変更の履歴を完全に消去するわけではありません。 –
あなたがコミットしたい、以降のコミットしたくない場合は(もすることができます編集、メッセージはまだあなたのために準備されますコミット):の
git revert -n <commit>
重複[前のGitリポジトリに戻すコミット](http://stackoverflow.com/questions/4114095/revert-to-a-previous-git-commit) –
私はこれが質問によって意味されているとは思わない。 SVNの逆マージは、コミットの変更をローカルの変更に戻すので、編集して再度コミットすることもできます。 – Dormouse