Bra*_*rks 32 git github git-diff
当我在另一个分支之间进行Github比较视图时,Github似乎将HEAD版本与较旧的非头版本进行比较.masterAAmaster
我调查了一下,从我能说的话来看,听起来像Github正在将分支A与一个共同的祖先进行比较master.实际上并没有将它与目前HEAD掌握的那些进行比较.
有没有办法A在Github 中将master的HEAD与Head的HEAD区分开来?
如果没有,为什么不呢?这似乎是每个开发人员都希望能够做到的功能.或者是否有一些我可能会缺失的过程?我希望能够直接从这些差异之一创建一个Pull Request.
编辑:这是一个示例回购,显示问题
https://github.com/bradparks/test_github_diff_view
v100.A,并将该行更改为"v200"然后我将主分支中的值更改为"v300",然后使用比较链接比较2个分支
https://github.com/bradparks/test_github_diff_view/compare/A
我看到以下意外结果.为什么不反对v300而不是v100?
Von*_*onC 25
有没有办法在Github中将master的HEAD与分支A的HEAD区分开来?
2018年9月:是的:GitHub现在明确支持" 三点和双点Git diff比较 ".在这里查看示例.
keisuke 在评论中提到了Bitbucket的类似举措.
2015年原始答案:
否:如" 当前版本的分支的GitHub比较视图 "中所述,GitHub仅支持三点(...)范围快捷方式规范.
那是:
此表单用于查看包含和最多为第二个的分支上的更改,从两者的共同祖先开始.
"
git diff A...B"相当于"git diff $(git-merge-base A B) B".
您可以省略任何一个,这与使用HEAD具有相同的效果.
该官员GitHub的帮助提到这个功能为:
Compare的最常见用途是比较分支,例如当您启动新的Pull请求时.
在那种情况下,PR分支从master开始(或者应该在master的基础上重新定位),这意味着master HEAD是master和PR分支之间的基础.
但是当两个分支分叉时,比较不再介于两个分支之间HEADs,而是介于一个共同的祖先和一个HEAD之间:git diff $(git-merge-base master B) B.
注意:即使您直接指定两个SHA1,因为它在" 比较提交 "中有明确记录,但它仍然可以执行git diff $(git-merge-base A B) B.
这将不会直接做两次提交之间的差异.
| 归档时间: |
|
| 查看次数: |
11836 次 |
| 最近记录: |