Github / compare:如何区分两个不同的文件(HEAD中的不同文件名)?

时间:2015-05-31 08:57:44

标签: github git-diff

我可以使用github /compare显示HEAD中两个不同源文件之间的区别吗?

以下是我在git diff的命令行中执行此操作的方法:

  

git diff HEAD:docs/tutorial/01-boxed-function-pointers.cpp HEAD:docs/tutorial/02-raw-actors.cpp

我对github语法的最佳猜测如下。但它不起作用:

https://github.com/RossBencina/Fractorp/compare/HEAD:docs/tutorial/01-boxed-function-pointers.cpp...HEAD:docs/tutorial/02-raw-actors.cpp

我特别想要一个在线漂亮打印的差异HTML渲染。

如果使用github无法做到这一点,是否有人可以推荐第三方网站来渲染github上托管的两个任意文件的差异?

编辑#1:

感谢推荐https://www.diffchecker.com的答案。但是,我需要能够将源文件指定为github上的当前HEAD。任何第三方工具都需要从github repo URL自动提取最新的源文件。我注意到http://www.mergely.com可以从网址导入来源。但是我正在寻找一直使用最新HEAD的实时视图。

谢谢。

5 个答案:

答案 0 :(得分:2)

我已经使用这个第三方在线差异工具很长一段时间,如果你愿意,你也可以使用它。 https://www.diffchecker.com。但似乎你应该手动将两个文件粘贴到它上面。

答案 1 :(得分:1)

我有时会在diffchecker网站上使用 Diff Checker 工具。它是一个在线差异工具,用于比较两个文本文件之间的文本差异。

链接:https://www.diffchecker.com/diff

答案 2 :(得分:1)

情况

在我的DevOps团队中,通常需要创建新的基础结构资源(通过“基础结构代码”),该资源与现有基础结构非常相似,但仅作一些更改。收到GitHub“ Pull Request”时,将向代码审阅者显示数千行代码,以 审阅 批准 >。即使如果他们知道,应该更改代码的哪一部分,他们也应该假设“所有其他绿色/新代码必须已从正确的位置正确复制。”

我知道如何通过CLI执行此操作!但是,因为我们有一个围绕GitHub Enterprise(和私有存储库)的工作流,所以我的团队没有为此或使用其他任何东西使用CLI。

权宜之计解决方案

GitHub only accepts points in history for comparisons以来,我没有变得聪明。

假设FileA是原始文件,而FileB是新路径下的修改文件

  • 创建一个临时分支(使用诸如“ diff-TICKET-1234”之类的命名约定)
  • 在FileB顶部复制FileA
  • 提交
  • 将其推送到github
  • 在分支中获得PR的最后一条提交消息(在本例中为“ TICKET-1234”)中,添加注释:
    • See: https://github.com/org_name/repo_name/compare/diff-TICKET-1234..TICKET-1234

答案 3 :(得分:0)

Line Diff将在两个代码片段之间显示像diff这样的github,但是你将无法将源文件指定为github上的当前HEAD - 我只是认为这是一个边缘情况而且还没有人想到在其中一个在线工具中使其成为“特征”。

答案 4 :(得分:0)

这有点作弊,您应该查看“高级”选项:点击DiffNow端点将为您提供一个JSONp回调,其中包含一个包含差异的临时HTML文件的名称。

https://www.diffnow.com/EdpProcess.aspx?action=compareUrls&url1=https%3a//raw.githubusercontent.com/RossBencina/Fractorp/master/docs/implementing-tutorial/01-boxed-function-pointers.cpp&url2=https%3a//raw.githubusercontent.com/RossBencina/Fractorp/master/docs/implementing-tutorial/02-raw-actors.cpp