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