0

我想在 git 的不同提交中比较文件的两个版本(存在于不同的路径)。我不想要差异,我只是想知道内容和模式是否相同。diff-files 的文档没有说明返回值的任何含义。我在 git 中没有看到类似于 cmp(1) 的东西。是否有另一个管道工具可以做到这一点,或者差异文件是否有表达这一点的返回值?

4

2 回答 2

3

git diff --exit-code <commit> <commit>相信你在找。它几乎在文档的底部 https://git-scm.com/docs/git-diff

或者

git diff --quiet <commit> <commit>如果您只对退出代码感兴趣(没有控制台输出)

于 2016-07-21T20:26:21.150 回答
0

git ls-tree <commit> -- <path>输出

<mode> SP <type> SP <object> TAB <file>

<mode>是文件模式。<object>是表示内容的sha1。

比较模式和对象。

<object>这里可以用另一种方式命名

<commit>:<path>

所以git rev-parse <commit>:<path>可以输出blob或树的sha1。比较两个sha1,我们可以看到内容是否相同。

于 2016-07-22T00:59:10.587 回答