在GitHub上比较同一个分支上的历史对我来说非常困惑。我经常为此而挣扎:
如果我在GitHub仓库名称后面的URL中使用compare/master
,我可以根据下拉菜单中的选项与仓库中的其他分支进行比较。
https://help.github.com/en/articles/comparing-commits-across-time
但是,我通常想比较master上的几个提交。
这是如何容易做到的?我能得到一个更清楚的例子吗?
在GitHub上比较同一个分支上的历史对我来说非常困惑。我经常为此而挣扎:
如果我在GitHub仓库名称后面的URL中使用compare/master
,我可以根据下拉菜单中的选项与仓库中的其他分支进行比较。
https://help.github.com/en/articles/comparing-commits-across-time
但是,我通常想比较master上的几个提交。
这是如何容易做到的?我能得到一个更清楚的例子吗?
8条答案
按热度按时间cczfrluj1#
您可以使用以下URL结构来比较同一分支中的提交:
根据项目替换
username
、repo_name
、commit1(old commit)
和commit2(new commit)
的值。两个提交之间的分隔符是
...
,即3 dots
。vyu0f0g12#
TLDR:在URL后面加上
/compare
即可。你可以使用Github比较UI,它会为你生成URL。用你的值替换
ORG
和REPO
。UI只列出分支,但你也可以输入任何有效的标签(例如v1.0.0
)或提交ID(例如1a2b3c
)。https://github.com/ORG/REPO/compare/
生成的URL是这种格式。您也可以使用REF手动编辑URL。
https://github.com/ORG/REPO/compare/REF1...REF2
你也可以使用“2 dots”(直接差异)代替“3 dots”(与上次common commit的差异)。与
git diff A..B
和git diff A...B
相同。https://github.com/ORG/REPO/compare/REF1..REF2
如果你想在fork之间进行比较,那么你需要添加
ORG2:
https://github.com/ORG/REPO/compare/REF1...ORG2:REF2
有文档,但我不认为它是那么清楚:https://help.github.com/en/github/committing-changes-to-your-project/comparing-commits-across-time
k4emjkb13#
你所链接的文章有关于比较提交的说明。
GitHub比较工具将接受任何revision。分支,标签,提交ID,甚至日期。如果你想在两个提交之间进行比较,请给予它提交ID。Here's their example。
im9ewurl4#
查看分支或标签之间的区别
(如果没有进行拉取请求,则分支)
bug/39
和master
之间的差异)备注:
(如果已经进行了拉取请求,您可以看到PR中的更改,而不再通过比较URL)
您可以使用下拉列表选择不同的分支或标记:
注意订单,例如https://github.com/PyCQA/mccabe/compare/master...0.6.1将不会给予结果
可以选择2点(..)或3点(...)表示法
查看提交之间的差异:
qyyhg6bp5#
只需转到
https://github.com/USERNAME/REPOSITORY_NAME/compare
以实现比较页面tzxcd3kk6#
自定义选项卡。
我们可以在存储库中添加一个比较“自定义选项卡”,这样我们就可以快速访问这个比较工具。
这就是如何。
现在转到你的仓库登陆页面,你应该会看到你新创建的自定义标签沿着其他默认标签(Pull requests,Settings等等)
kognpnkq7#
如果你需要比较一个分支中不同日期的变化,你可以这样做:
pzfprimi8#
如果有人需要一个方便的UI,在这里你去。我为我的项目做了它,当我为案例进行故障排除时,搜索和比较是相当棘手的。它有助于快速创建分支/标签/提交(哈希)之间的比较,只需点击几下。
Chrome扩展程序:GitHub在线比较
https://chrome.google.com/webstore/detail/github-compare-online/dglncilbcfbjkdpiabohoofgkfabhpab