如何在github中比较同一分支上的两个不同提交?

093gszye  于 2023-04-19  发布在  Git
关注(0)|答案(8)|浏览(401)

在GitHub上比较同一个分支上的历史对我来说非常困惑。我经常为此而挣扎:
如果我在GitHub仓库名称后面的URL中使用compare/master,我可以根据下拉菜单中的选项与仓库中的其他分支进行比较。
https://help.github.com/en/articles/comparing-commits-across-time
但是,我通常想比较master上的几个提交。
这是如何容易做到的?我能得到一个更清楚的例子吗?

cczfrluj

cczfrluj1#

您可以使用以下URL结构来比较同一分支中的提交:

github.com/<username>/<repo_name>/compare/<commit1>...<commit2>

根据项目替换usernamerepo_namecommit1(old commit)commit2(new commit)的值。
两个提交之间的分隔符是...,即3 dots

vyu0f0g1

vyu0f0g12#

TLDR:在URL后面加上/compare即可。

你可以使用Github比较UI,它会为你生成URL。用你的值替换ORGREPO。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..Bgit 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

k4emjkb1

k4emjkb13#

你所链接的文章有关于比较提交的说明。
GitHub比较工具将接受任何revision。分支,标签,提交ID,甚至日期。如果你想在两个提交之间进行比较,请给予它提交ID。Here's their example

im9ewurl

im9ewurl4#

查看分支或标签之间的区别

(如果没有进行拉取请求,则分支)

备注:

  • (如果已经进行了拉取请求,您可以看到PR中的更改,而不再通过比较URL)

  • 您可以使用下拉列表选择不同的分支或标记:

  • 注意订单,例如https://github.com/PyCQA/mccabe/compare/master...0.6.1将不会给予结果

  • 可以选择2点(..)或3点(...)表示法

查看提交之间的差异:

qyyhg6bp

qyyhg6bp5#

只需转到https://github.com/USERNAME/REPOSITORY_NAME/compare以实现比较页面

tzxcd3kk

tzxcd3kk6#

自定义选项卡。
我们可以在存储库中添加一个比较“自定义选项卡”,这样我们就可以快速访问这个比较工具。
这就是如何。

  • 后藤您的存储库登录页。https://github.com/〈YOUR_ORG_NAME/<YOUR_REPO_NAME>
  • 单击“设置”选项卡。
  • 点击“自定义选项卡”。
  • 填写“新选项卡”名称。
  • 填写比较的URL. https://github.com/<YOUR_ORG_NAME>/<YOUR_REPO_NAME>/compare
  • 点击“添加标签”按钮

现在转到你的仓库登陆页面,你应该会看到你新创建的自定义标签沿着其他默认标签(Pull requests,Settings等等)

kognpnkq

kognpnkq7#

如果你需要比较一个分支中不同日期的变化,你可以这样做:

https://github.com/<ORG_NAME>/<REPO_NAME>/compare/HEAD..HEAD@{4 weeks ago}
https://github.com/<ORG_NAME>/<REPO_NAME>/compare/HEAD@{1 week ago}..HEAD@{2021-06-01}
pzfprimi

pzfprimi8#

如果有人需要一个方便的UI,在这里你去。我为我的项目做了它,当我为案例进行故障排除时,搜索和比较是相当棘手的。它有助于快速创建分支/标签/提交(哈希)之间的比较,只需点击几下。
Chrome扩展程序:GitHub在线比较
https://chrome.google.com/webstore/detail/github-compare-online/dglncilbcfbjkdpiabohoofgkfabhpab

相关问题