0

重複の可能性:
git マージの競合で、マージされているバージョンを保持するにはどうすればよいですか?

私のマシンには 2 つのローカル git ブランチがあります。1 つは「v2」というブランチで、もう 1 つは「master」というブランチです。

「v2」ブランチを「master」ブランチにマージしたいと思います。マージを実行すると、1 つずつ解決しなければならない多くの競合があります。

私が問題を抱えているのは、「マスター」ブランチ ファイルに「v2」ブランチにない追加コードがある場所です。ファイルの「v2」ブランチ バージョンではなく、「マスター」ブランチ ファイルを保持するにはどうすればよいですか?

これらのタイプの競合に対して Git Tower から提示されたオプションは次のとおりです。

  • FILENAME を手動で解決済みとしてマーク
  • FILENAME を保持して解決
  • FILENAME を削除して解決
  • FILENAME のバージョンを復元する
  • 外部アプリで開く

私の理解では、ファイルを「保持」するオプションは「v2」バージョン(マージされるもの)を保持することを意味し、ファイルを「削除」することは「v2」バージョンを追加しないことを意味しました(代わりに既存の「マスター」バージョンを保持します) )。ただし、このオプションを使用すると、実際にはリポジトリからファイルが完全に削除されました。

これらのタイプの競合のために、ファイルの「v2」ブランチ バージョンではなく、「マスター」ブランチ ファイルを保持するにはどうすればよいですか?


編集:マスターがチェックアウトされ、ヘッドブランチがチェックアウトされている間に、v2をマスターにマージしています。

4

1 に答える 1

0

他のもの(v2 aka theirs) を master にマージしているので、ファイル (「ours」を参照) を「保持」して、ファイルを master にそのまま残すことができます。

git リポジトリは自己完結型であることを忘れないでください。バックアップを作成することでこのようなことを簡単にテストできます (リポジトリの格納フォルダー全体を別の場所にコピーするか、ZIP/TAR で作成します)、試してみてください。思ったような結果が得られず、git ツールで元に戻すことができない場合は、バックアップを削除して復元するだけです! :D

于 2012-12-14T18:09:41.017 に答える