2012-08-29 21 views
10

私の上司が私たちの新しいGitリポジトリを設定しました.GitリポジトリはWindowsサーバに1つ、Linuxサーバに1つあります。Meldについて理解する3 way merge with Git

私はMeldの使用を選んだので、競合の解決を依頼されました。

最初のファイルを実行すると、3つのウィンドウが開きます。

  • shipping.php.local。####、
  • shipping.php
  • shipping.remote。####

私は、ドキュメントやヘルプを読んだが、私は」理解に困っています。私が見ることができるから、shipping.remoteには、私が保存したいLinuxボックスのファイルに行った変更があります。 shipping.localは、Windowsサーバーのファイルであり、shipping.phpは、マージの結果生じるファイルです。

からコードを取ったら、の中間ファイル(shipping.php)に移動して保存すれば、LinuxボックスのGitリポジトリに必要な更新ファイルがあります?

私は正しく説明したいと思っています。私はただ何かを台無しにしたくありません。

+0

リモート/ローカル変更は、起点(ベース)にコミットを適用しているため、起点がローカルになり、自分のリモートがリモートになるためです。 –

答えて

7

あなたは、表示されているファイルが何であるかを正しく理解しています。しかし、あなたが記述した方法でマージすると(リモートからベースへの変更を組み込む)、あなたはローカルからの変更を緩和します。実際には、ローカルとリモートの両方をベースにマージする必要があります。あなたは変更を使用することができます|すべての非コンフリクトをマージし、各コンフリクトを手動で解決します。

+0

それを得ました、私は3つすべてを私がそれぞれから望む変化に合わせるようにしました。ありがとうございます – Naterade

+1

実際には、中にはすべての変更があることは十分です。 – Greg

+0

http://stackoverflow.com/questions/11133290/git-merging-using-meld – crafter