GitHub对比显示不存在的差异?如何仅对比分支当前状态?
GitHub分支对比显示内容一致的文件有差异的原因及解决办法
原因
这种情况确实是由提交历史导致的。比如两个分支中,目标文件虽然当前内容完全相同,但经历了不同的提交轨迹:比如其中一个分支里该文件曾被删除后重新添加,或者有过修改后又回滚的提交记录。GitHub默认的分支对比会追踪这些历史操作,因此会把这类文件标记为“有差异”。
只对比当前状态忽略提交历史的方法
网页端操作
在GitHub的分支对比页面,修改URL中的对比规则:将原本的compare/分支A..分支B(两个点)改成compare/分支A...分支B(三个点)。三个点的对比逻辑是直接对比两个分支的最终快照,完全忽略中间的提交历史,这样内容一致的文件就不会被误标为差异了。
本地命令行操作
如果用本地Git工具,可以执行以下命令:
- 对比两个分支的最终状态差异:
git diff 分支A...分支B - 单独对比某个文件的当前内容:
git diff --no-index 分支A:./path/to/file 分支B:./path/to/file
内容的提问来源于stack exchange,提问作者FrogDog
相关产品推荐
相关产品推荐

