3


1

だから私はブランチ 'bob’と共に私のマスターブランチを持っています。

私は両方に多くの変更を加えました、そして今私は彼を最新の状態に保つためにボブにマスターをマージしたいです。 唯一のことは、衝突があれば自動的にボブに解決したいということです。

私は次のことを勧められています:

git checkoutボブgit merge master -s ours

私はマスターから衝突しないような変更さえ得られないのでこれはうまくいきません。

助けてください!

2 Answer


1


まず、マスターからボブへのすべての変更をマージする必要があります。

  • 衝突がない場合は、マスターからのすべての修正をボブに追加する必要があります。

  • ボブブランチの内容を維持することによって、いかなる衝突も解決されなければなりません。

マージが完了したら、簡単です。

gitチェックアウトマスターgit rebase bob

マスターのHEADがボブのものに早送りすることを可能にします。 ボブの中身からそこからマスターが進みます。


0


_ours_マージ戦略とのギャップがあります。 あなた自身のマージドライバを統合することがあまりにも多く、そしてあなたがEmacsが好きなら、あなたの「マージツール」として_http://www.gnu.org/software/emacs/manual/ediff.html [ediff] _を使うことを考えてください。 あなたはそれを対立であなたの貢献を「好む」ように言うことができます。 競合する変更のみに焦点を合わせることに加えて、コミットする前にマージ結果を確認することができます。自分の貢献だけを取っても一貫したファイルが作成されることを確認するためです。

残念ながら、_ediff_はサポートされているマージツールとしてまだ統合されていません。 2007年6月のgitメーリングリストの このスレッドは統合の問題のいくつかを説明しています。 その他

Gitは別のEmacsマージモードである_merge_のサポートを内蔵して出荷されていますが、私は_ediff_を好みます。