我如何下载包含在Github拉请求作为一个统一的差异的变化?
当前回答
要将PR更改以阶段性但未提交的状态放入本地回购,您可以查看:
git pull origin pull/123/head --no-commit
然后生成一个补丁文件:
git diff --cached > pr123.diff
其他回答
要将提交文件视为diff/patch文件,只需在URL末尾添加.diff或.patch,例如:
https://github.com/weppos/whois/pull/90 https://github.com/weppos/whois/pull/90.diff https://github.com/weppos/whois/pull/90.patch
对于相关的解决方案,还有另一种替代方案。它回答了最初的问题,并使用git fetch和FETCH_HEAD。
git fetch origin pull/921/head
cat .git/FETCH_HEAD
# Then either of
git diff `git merge-base FETCH_HEAD HEAD`..FETCH_HEAD > diff.diff # Downloads the unified diff as asked in the original question
git merge FETCH_HEAD # Applies the diff
有点相关,让git下载拉请求123并在本地将其补丁到mylocalbranch,运行:
git checkout -b mylocalbranch
git pull origin pull/921/head
要将PR更改以阶段性但未提交的状态放入本地回购,您可以查看:
git pull origin pull/123/head --no-commit
然后生成一个补丁文件:
git diff --cached > pr123.diff
推荐文章
- 如何运行一个github-actions步骤,即使前一步失败,同时仍然失败的工作
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 在GitHub repo上显示Jenkins构建的当前状态
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 跟踪所有远程git分支作为本地分支
- 为什么要把Gradle Wrapper提交给VCS?