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

时间:2018-04-15 01:45:46

标签: git github

在GitHub上比较同一分支上的历史对我来说非常困惑。我经常与此斗争:

如果我在github repo名称之后的URL中使用compare/master,我可以根据下拉菜单中的选项与repo中的其他分支进行比较

https://help.github.com/articles/comparing-commits-across-time/

但是,我通常想比较master上的几个提交。

这怎么容易做到?我能得到一个更明确的例子吗?

7 个答案:

答案 0 :(得分:22)

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

n rm 9.10.1

替换github.com/<username>/<repo_name>/compare/<commit1>...<commit2> usernamerepo_name&amp;的值commit1 acc。到你的项目。

两次提交之间的分隔符是commit2,即(3点)

答案 1 :(得分:2)

您关联的文章包含comparing commits的说明。

Github比较工具将接受任何revision。分支,标签,提交ID,甚至日期。如果要在两个提交之间进行比较,请为其提供提交ID。 Here's their example

答案 2 :(得分:1)

只需转到https://github.com/USERNAME/REPOSITORY_NAME/compare即可到达比较页面

enter image description here

答案 3 :(得分:1)

自定义标签。

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

这是方法。

  • 转到您的存储库登录页面。 https://github.com/
  • 点击“设置”标签。
  • 点击“自定义标签”。
  • 填写“新标签”名称。
  • 填写 URL 进行比较。 https://github.com///compare
  • 点击“添加标签”按钮

现在转到您的存储库登录页面,您现在应该会在其他默认选项卡(拉取请求、设置等)旁边看到您新创建的自定义选项卡

答案 4 :(得分:0)

您可以使用Github Compare UI,它将为您生成URL。将ORGREPO替换为您的值。用户界面仅列出分支,但您也可以输入任何有效的标记(例如v1.0.0)或提交ID(例如1a2b3c)。

https://github.com/ORG/REPO/compare/

enter image description here


生成的URL就是这种格式。您也可以使用REF手动编辑URL。

https://github.com/ORG/REPO/compare/REF1...REF2

您也可以使用“ 2点”(直接差异)代替“ 3点”(与上次常见提交的差异)。与git diff A..B vs git diff A...B相同。

https://github.com/ORG/REPO/compare/REF1..REF2

如果要在各个分支之间进行比较,则需要添加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

答案 5 :(得分:0)

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

(如果未提出拉取请求,则分支)

注意:

  • (如果发出了拉取请求,您就可以通过比较URL看到PR内的更改)

  • 您可以使用下拉菜单选择不同的分支或标签: enter image description here

  • 处理订单,例如。 https://github.com/PyCQA/mccabe/compare/master...0.6.1将不会给出结果

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

查看提交之间的区别:

答案 6 :(得分:0)

如果您需要比较一个分支内但不同日期的更改,您可以这样做:

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}
相关问题