如何获取因源仓库删除而关闭的Pull Request代码变更?
恢复已删除源仓库的Pull Request代码变更
当PR的源仓库(前同事的fork)被删除后,常规的git pull origin pull/ID/head这类命令会失效——因为主仓库的远程引用里已经找不到对应分支的记录。你可以通过以下两种方法恢复PR里的代码变更:
方法一:手动下载diff并应用
- 打开该PR在GitHub的页面(格式为
https://github.com/[主仓库所有者]/[仓库名]/pull/939),切换到「Files changed」标签页 - 点击页面右上角的「Download diff」按钮,将生成的
.diff文件下载到本地项目的根目录 - 在本地仓库的终端中执行:
git apply pull-939.diff - 如果出现冲突,手动修改冲突文件后,执行
git add .和git commit即可保存变更
方法二:通过API直接拉取patch并应用
- 在本地仓库终端执行以下命令(替换
[主仓库所有者]/[仓库名]为实际的仓库路径,比如octocat/hello-world):curl https://patch-diff.githubusercontent.com/raw/[主仓库所有者]/[仓库名]/pull/939.patch | git am - 若遇到冲突,可执行
git am --show-current-patch查看冲突细节,手动解决后执行git add .和git am --continue;如果要终止操作,执行git am --abort
内容的提问来源于stack exchange,提问作者Light Yagami
相关产品推荐
相关产品推荐

