私はレポをフォークしていくつかの変更を加え、それを私のマスターブランチにプッシュしました。その後、私はフォークしたレポから変更を取り出し、それをマスターにマージしました。私は多くのマージ競合があります。私はそれらをすべて修正しましたが、コードのどこかで、私はimpの変更を見逃しました。私はその変更をプッシュしていないし、私はそれをコミットしていない。マージを元に戻すにはどうすればよいですか?私がフォークしたレポからのコミットには古いコミットがあり、レポには私の新しいコミットがあります。マージを元に戻すには?
0
A
答えて
1
質問を正しく読んだら、master
に何かをマージしましたが、何らかの問題があり、マージをキャンセルして再開したいと思っています。この場合、私はあなたが以下に逃げることができると思う:
git reset --hard HEAD
あなたはまだ何もコミットしていないので、マージが持っている唯一の本当の効果は、あなたが直接ファイル、およびおそらくあなたのステージを働いていることですマージから「ダーティ」です。上記のコマンドは、作業およびステージングされたファイルを、マージを試みる前のHEADコミット時の状態にリセットします。しかし、あなたの支店の実際の歴史はまだ変わっていないので、あなたはその点では安全です。
あなたははを持っていた場合は、この状況に対処する方法を興味があればあなたがコミットダイレクトにgit rebase
を使用することができ、今ではマージの上にコミットおそらく他の仕事で、マージをコミット。 Considertheは図以下:ここ
... A --- B --- C --- F ... master
\ /
--- D --- E --- feature
、feature
は、A
コミットmaster
から分岐したが、その後F
をコミットマージでmaster
にマージされました。これで、そのマージコミットを削除します。あなたは次のようにA
をコミットするmaster
をリベースすることができます
git rebase <SHA-1 of commit A>
GitはA
の上にmaster
からすべてのコミットを再生します、しかし、それはF
で起こっコミットマージを無視します。デフォルトの動作は、マージコミットを無視し、メインの親パスを後方に従うことです。したがって、これはこの状況を処理する1つの方法です。
関連する問題
- 1. strategy = oursを使ったマージを元に戻すには?
- 2. Subversionでマージを元に戻すのは問題ですか?
- 3. Gitは3つのブランチをマージして元に戻す
- 4. コミットを元に戻さずにマスターをマージする
- 5. 2つのマージの間にあるマージを元に戻す方法
- 6. 元に戻す私はまだマージされていないプッシュ
- 7. プッシュされたgitマージを元に戻してマージをやり直します
- 8. git clone --mirrorコマンドを元に戻す/元に戻す方法は?
- 9. Mercurialの - マージを元に戻すと、再び
- 10. git:以前のマージを元に戻したブランチからのマージ変更
- 11. GIT ...元に戻す
- 12. gitを元に戻すには?
- 13. cvsでファイルを元に戻すには?
- 14. git update-indexを元に戻すには?
- 15. Gitソフトリセットを元に戻すには?
- 16. TortoiseSVN - 復元を元に戻す
- 17. 元の配列を元に戻す
- 18. svnの特定の変更セットをマージする "元に戻す"方法
- 19. 2つのブランチをマージして行った変更を元に戻す方法
- 20. Mercurialプッシュを元に戻す
- 21. 選択を元に戻す?
- 22. コンボボックスを元に戻す - グループボックス
- 23. zfsを元に戻す
- 24. 変更を元に戻す
- 25. git stashを元に戻す
- 26. git mergeを元に戻す
- 27. JQueryを元に戻す
- 28. __toStringを元に戻す
- 29. VIM - バイナリファイルを元に戻す
- 30. Git Cleanを元に戻す
あなたはロックスターのTimです。詳細な説明をありがとう。私はたくさんのことを学んでいます – Raaz