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

Ros*_*ina 27 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可以从URL 导入源.但是我正在寻找一直使用最新HEAD的实时视图.

谢谢.

Bru*_*sky 8

情况

在我的 DevOps 团队中,需要创建新的基础设施资源(通过基础设施即代码)是很常见的,这些资源与现有基础设施非常相似,但只需进行一些更改。当收到 GitHub“拉取请求”时,代码审阅者会看到数千行代码以供审阅批准。即使他们知道应该更改哪一小部分代码,他们也应该放心地假设“所有其他绿色/新代码”代码必须从正确的位置正确复制。

我知道如何通过 CLI 执行此操作!但是,因为我们有一个以 GitHub Enterprise(和私有存储库)为中心的工作流程,所以我的团队不会使用 CLI 来完成此任务或做其他事情。

权宜之计

由于GitHub 只接受历史中的点进行比较,而不接受路径,所以我必须变得聪明。

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

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


Rah*_*pta 6

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

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