我只是想知道是否有一种方法可以简单地比较GitHub中的两个分支?我知道GitHub有能力做到这一点,因为当我们做代码评审时,它确实很好地列出了所有的差异。我只是想知道是否有一种方法可以做到这一点,而不需要任何代码评审来比较,比如说分支到分支或提交到提交?因此,当我把一些东西推到我的远程分支,我想看看我的差异将是什么样子之前,它创建一个公关,然后它可以是非常有帮助的。我可以一直在console中执行git diff,但这并不像它在GitHub的web UI中显示的那样漂亮和直观。
mwg9r5ms1#
使用compare功能来完成此操作。要比较不同版本的存储库,请将/compare附加到存储库路径。
/compare
9w11ddsr2#
如果您在默认分支(通常为“master”)以外的任何分支上,您应该会看到一个指向 compare 的链接:
点击它,你应该会被重定向到比较工具,在那里你可以选择要比较的分支或提交
2021年12月更新
GitHub似乎隐藏了这个选项,现在它位于“贡献”下拉列表后面:第一节第二节第一节第三节第一节
ztigrdn83#
@Ari M的答案展开。URL格式如下:
一个月一次一个月一次一个月二次一个月三次一个月四次一个月五次
注意..和...之间的difference(2点和3点)。
..
...
2点:显示TARGET拥有但SOURCE没有的所有提交,以及SOURCE拥有但TARGET没有的提交。3点:显示TARGET拥有但SOURCE没有的所有提交。* 您通常需要这样做。*
例如,查看gh-pages分支中添加的内容与linguist存储库中的master相比:https://github.com/octocat/linguist/compare/master...gh-pages
gh-pages
linguist
master
qgzx9mmu4#
在GitHub上还有另一种方法可以实现这一点,只需尝试创建一个新的Pull Request,其中包含您想要比较的分支。例如分支1〈-分支2或分支2〈-分支1在底部,你可以看到这两个分支之间的文件和提交差异。如果你不想合并这两个分支,就不要创建Pull请求。
anauzrmj5#
这可能是一个有用的提示,节省一些键入:只要将/compare添加到yourBranch的URL中,就会与上游存储库 * 中的默认分支 *(即您最初派生的分支)进行比较。基本上,它会自动生成一个重定向,指向类似的内容(注意反转)
yourBranch
/compare/upstream...yourUserName:yourBranch
此外,为了补充Max Ivanov的答案,从上面的内容中可以明显看出,您还可以在/compare中指定其他人的repo,使用常见的GitHub格式userName:branchName。
userName:branchName
3mpgtkmj6#
对我们来说,比较选项被禁用,git diff <branch-1> <branch-2>逐行返回差异,也会混淆。Intellij具有与分支相比的特性右击项目-〉Git〉与分支比较。文件列表将出现差异。
git diff <branch-1> <branch-2>
q3aa05257#
我发现这个功能几乎在分支页面的顶部。对我来说,它写着“这个分支比开发提前9次提交。”文本中有一个链接。点击这个链接会把我带到www.example.com网页中的比较分支功能github.com。
当这个特性隐藏在链接后面时,如何找到它并不直观或明显。为了便于将来参考,比较功能会放在提交所在的任何地方,导航到它们会把你带到正确的位置。
7条答案
按热度按时间mwg9r5ms1#
使用compare功能来完成此操作。
要比较不同版本的存储库,请将
/compare
附加到存储库路径。9w11ddsr2#
如果您在默认分支(通常为“master”)以外的任何分支上,您应该会看到一个指向 compare 的链接:
点击它,你应该会被重定向到比较工具,在那里你可以选择要比较的分支或提交
2021年12月更新
GitHub似乎隐藏了这个选项,现在它位于“贡献”下拉列表后面:
第一节第二节第一节第三节第一节
ztigrdn83#
@Ari M的答案展开。URL格式如下:
一个月一次一个月一次一个月二次一个月三次一个月四次一个月五次
注意
..
和...
之间的difference(2点和3点)。2点:显示TARGET拥有但SOURCE没有的所有提交,以及SOURCE拥有但TARGET没有的提交。
3点:显示TARGET拥有但SOURCE没有的所有提交。* 您通常需要这样做。*
例如,查看
gh-pages
分支中添加的内容与linguist
存储库中的master
相比:https://github.com/octocat/linguist/compare/master...gh-pages
qgzx9mmu4#
在GitHub上还有另一种方法可以实现这一点,只需尝试创建一个新的Pull Request,其中包含您想要比较的分支。
例如
分支1〈-分支2或分支2〈-分支1
在底部,你可以看到这两个分支之间的文件和提交差异。如果你不想合并这两个分支,就不要创建Pull请求。
anauzrmj5#
这可能是一个有用的提示,节省一些键入:只要将
/compare
添加到yourBranch
的URL中,就会与上游存储库 * 中的默认分支 *(即您最初派生的分支)进行比较。基本上,它会自动生成一个重定向,指向类似的内容(注意反转)此外,为了补充Max Ivanov的答案,从上面的内容中可以明显看出,您还可以在
/compare
中指定其他人的repo,使用常见的GitHub格式userName:branchName
。3mpgtkmj6#
对我们来说,比较选项被禁用,
git diff <branch-1> <branch-2>
逐行返回差异,也会混淆。Intellij具有与分支相比的特性
右击项目-〉Git〉与分支比较。
文件列表将出现差异。
q3aa05257#
我发现这个功能几乎在分支页面的顶部。对我来说,它写着“这个分支比开发提前9次提交。”文本中有一个链接。点击这个链接会把我带到www.example.com网页中的比较分支功能github.com。
当这个特性隐藏在链接后面时,如何找到它并不直观或明显。
为了便于将来参考,比较功能会放在提交所在的任何地方,导航到它们会把你带到正确的位置。