Git:如何在不进行评分的情况下比较变更集?

时间:2015-06-04 14:23:54

标签: git

鉴于我们有代码生成工具,可以更新我们工作目录中的文件。我们使用2个不同的参数运行该工具,我们想要了解它带来的差异。是否有可能以某种方式与GIT一起做?

1 个答案:

答案 0 :(得分:0)

对我来说效果很好的东西是这样的:

# Make some change
git diff > first-try.patch

# Make a different change
git diff > second-try.patch

interdiff first-try.patch second-try.patch

interdiff显示差异的差异,这很有用。您通常需要在Linux机器上安装patchutils才能获得interdiff。

另一种选择是:

# Make some change
git commit -m "first try"
# Make note of the commit id... call it COMMIT1

# Restore your tree
git reset --hard HEAD^
# Make the second change
git commit -m "second try"

git diff COMMIT1 HEAD

# Go back to the original starting point.
git reset --hard HEAD^

我更喜欢这个想法,因为如果你犯了错误就可以搞砸了。但它在其他方面也更容易(例如,不需要interdiff)。注意:你可能认为你可以引用COMMIT1,因为你回溯了,但事实并非如此。只要在一段时间后没有使用它,Git就会将物体留在周围并在以后清理它。