代码修改后,我想从GIT网页上创建一个代码审查。源分支是我的开发分支,目标分支是我的主分支。但是diff好像忽略了主分支的所有代码,把dev分支的每一行都当作新的。
我又在git webpage比较中试了一下,同样的问题。
我尝试了 git diff master..dev file1.py
的命令,这样就能正常显示我的修改。
搜索了一下,好像在GIT web视图中,它是用最新的共同祖先来比较差异,而不是用master和dev中的最新代码来比较。GIT rebase似乎解决了这个问题。但有没有其他的方法来处理这个问题?谢谢
你没有说你用的是什么网页界面,但我暂时假定是 GitHub。 在GitHub上,默认的比较是用三点运算符来做比较的 ...
而不是双点运算符 ..
.
当你做一个比较与 git diff master..dev
(两个点),它显示了不同的是 master
和 dev
. 当你做一个比较与 git diff master...dev
(三个点),它取对称差异,也就是两边都能达到的提交范围,而不是两边都能达到。 这就是为什么看起来你是在和最新的共同祖先比较:因为那是合并基础,而你是。 如果你想做两点比较,你可以编辑URL。
如果你有兴趣了解更多,你可以查看 gitrevisions(7)
手册页,以及 GitHub也有文档.