下载Github pull请求作为统一差异

Thi*_*ilo 266 git version-control diff github

如何将Github pull请求中包含的更改作为统一差异下载?

Sim*_*tti 464

要将提交视为diff/patch文件,只需添加.diff.patch到URL的末尾,例如:

  • 没有记录将stackoverflow保持在业务中.老实说,这就是FAQ#2 (43认同)
  • 十分感谢.而且还有`.patch`.为什么不在GUI中公开?一个人应该怎么发现这个? (13认同)
  • 通过这些返回以及https://developer.github.com/v3/media/#commits-commit-comparison-and-pull-requests中文档中的链接来判断,`.diff` URL给出了直接差异到基于`git-diff` https://git-scm.com/docs/git-diff输出的默认分支,`.patch` URL给出了PR中各个提交的连接(每个提交相对于它们父提交)适用于基于`git-format-patch` https://git-scm.com/docs/git-format-patch输出的电子邮件格式. (8认同)
  • 我通过谷歌搜索到达这里,几个小时后,我注意到 github 现在将其显示为每个 PR 下面的“ProTip” (2认同)

tha*_*kis 49

有点相关,让git下载pull请求123并将其修补到mylocalbranch本地,运行:

git checkout -b mylocalbranch
git pull origin pull/921/head
Run Code Online (Sandbox Code Playgroud)

  • 或者将拉取请求放到新的PR分支上**`git fetch origin pull/921/head:PR`**然后与您当前的分支合并,让您有机会查看更改**`git merge PR - -no-commit --no-ff`** (10认同)
  • 完整文档位于https://help.github.com/articles/checking-out-pull-requests-locally/ (4认同)

Bil*_*ngs 6

要将 PR 更改以分阶段但未提交的状态添加到本地存储库中,以便您可以查看:

git pull origin pull/123/head --no-commit
Run Code Online (Sandbox Code Playgroud)

并从中生成补丁文件:

git diff --cached > pr123.diff    
Run Code Online (Sandbox Code Playgroud)