使用--word-diff在git中查看冲突文件的差异

时间:2016-07-19 15:24:21

标签: git diff

假设我尝试从分支A合并到分支B - 合并失败,因为文件F中存在冲突。

直到现在我一直在做

git diff --word-diff HEAD:F master:F
一段时间后,这会变得无聊。是否有一些替代开箱即用的命令允许我避免这种情况,或者我是否必须保存这个小脚本并使其可以在我的计算机的某个地方访问$ PATH?

由于

2 个答案:

答案 0 :(得分:3)

每当重复操作的范围将受到限制(即单个终端内的相对较短的会话)并且不太可能在不久的将来再次发生时,我更喜欢将其包装在当前shell中的bash函数中。这避免了在将脚本放入$ PATH之前必须为脚本找到好名称的问题。

在您的情况下,在shell中键入以下行

function mydiff() { git diff --word-diff HEAD:"$1" master:"$1"; }

将使您能够使用更短的命令mydiff F执行差异。

答案 1 :(得分:1)

作为Leon answered你可以为此创建一个小的shell函数(或shell别名),或者Frodon commented你可以创建一个Git别名。

更有用的是,在冲突合并期间,本地(--ours)和其他(--theirs)提交ID分别方便地命名为HEADMERGE_HEAD。因此,您不必将名称master硬编码到shell函数,shell别名或Git别名中,并且:

[alias]
    wdiff = "!f() { git diff --word-diff HEAD:\"$1\" MERGE_HEAD:\"$1\"; }; f"
例如,

可以在这里诀窍。