37

競合を解決し、変更をステージングしてからgit diffを実行すると、+と-の2つの列が表示されます。1つは「ours」用、もう1つは「theirs」用です。リポジトリのgit履歴にマージコミットがある場合、他の誰かによって行われたその解決をどのように確認できますか?他の例では、私は以前にそれを見たことがありますが(gitkで、私は思います)、私が持っているこのSHA1ではそれを判断できないようです。

4

3 に答える 3

54

ref がわかっている場合git show <MERGE_COMMIT>は、マージ コミットに対して行われた解決策 (ある場合) が表示されます。

ログには、git log -p -cまたはを使用しますgit log -p --cc。git log のマンページから:

   -c
       With this option, diff output for a merge commit shows the differences from each 
       of the parents to the merge result simultaneously instead of showing pairwise 
       diff between a parent and the result one at a time. Furthermore, it lists only 
       files which were modified from all parents.

   --cc
       This flag implies the -c option and further compresses the patch output by 
       omitting uninteresting hunks whose contents in the parents have only two 
       variants and the merge result picks one of them without modification.
于 2013-10-29T10:30:48.970 に答える
0

わずかなバイクシェッド:diff3またはkdiff3を使用して、マージを逆に表示できます。特に、競合を解決するために2番目の変更が導入された(gitスタイル)「悪」のマージの場合はそうです。(爆発するヘッドがどのように変更を「バックアウト」するかを確認しようとしていることに注意してください;-)

明らかに、「ベース」コミットはマージされたコミットになります。

于 2013-03-07T17:54:38.670 に答える