2

2 つのブランチをマージしますが、最終的なファイルは次のようになります。

<<<<<<< HEAD
this is line -1.
this is line -2.
this is line -3.
=======
this is line b1.
this is line b2.
this is line b3.
>>>>>>> addSomePrefix

それが何を表しているのかわかりませんが、データをより人間が読める形式で表示するための GUI ツールはありますか? ありがとう。

4

4 に答える 4

2

これは衝突の結果です。

ファイルを手動で編集して、競合を解決する必要があります (基本的には、残したいコードを選択することを意味します)。

現在、=== の上のコードは古いコードで、=== の下のコードは新しいコードです (その通りだと思います!)。

一般的な git の使用については、gitg (Linux) / gitx (Mac) などの GUI ツールもお勧めします。

于 2012-05-16T04:54:01.953 に答える
1

一部の Git クライアントは、「diff3」コンフリクト ソルバー ツール (マウスを数回クリックするだけでコンフリクトを解決するのに役立つ 3 つのパネル ビュー) を提供します。たとえば、SmartGitを試すことができます。

しかし、すでに述べたように、競合を手動で解決することもオプションであり、それほど難しくありません...

于 2012-05-16T05:05:48.623 に答える
0

ECMerge (私が使用しているツール) を確認すると、「競合ファイルを開く」メニューまたはシェル拡張機能から Git 競合ファイルが読み込まれ、競合を解決できるように表示されます。

ところで、他のほとんどの VCS (Bazaar、Darcs、CVS、SVN など) で動作します。

ECMerge は git と統合されており、事前に登録されたツールがあり、git コマンド ラインを使用するように構成されている場合、Git リポジトリ (ローカルおよびベア リポジトリ) を参照することもできます。

于 2012-06-13T13:37:32.997 に答える
0

マージの視覚的なツールとして使用できますmeld。これは、共通のルートを示し、マージの両側から変更を取り込むことができる、優れた 3 方向のマージを行います。

実行時に呼び出すにはgit mergetool、次を git 構成に追加します。

[merge]
   summary = false
   tool = "meld"

[mergetool "meld"]
  cmd = meld \
   -a \
   "$PWD/$BASE" \
   "$PWD/$LOCAL" \
   "$PWD/$REMOTE" \
   -o "$PWD/$MERGED"
   keepBackup = false
   trustExitCode = false
于 2012-05-16T07:32:45.867 に答える