Git:如何合并来自封闭拉取请求的更改?

时间:2015-12-29 11:12:21

标签: git github

几个星期前,我从my:abc对我的分支them:xyz提出了拉取请求(PR)。

截至今天,公关已经结束。 在PR中,them:xyz现在已替换为unknown repository,想知道它是什么意思,它怎么会发生?

现在我想合并这些更改,但不幸的是我无法与其他人联系以获得新的PR(谁提出了拉取请求)。

但是我仍然有拉动请求(这很好) 这些变化是否可以合并或挑选出来?

注意:PR属于商业公司,所以不能在这里分享。

2 个答案:

答案 0 :(得分:3)

如果您仍然在GitHub上有拉取请求,您可以从GitHub下载拉取请求作为补丁,在本地合并,然后推送更改。

从GitHub拉取请求页面:

  

通过命令行合并

     

如果您不想使用合并按钮或自动合并   无法执行,您可以在命令上执行手动合并   线。补丁

     

步骤1:从项目存储库中,查看新分支并进行测试   变化。

git checkout -b new-branch master
curl https://github.com/USER/REPOSITORY/pull/1.patch | git am
     

第2步:合并更改并在GitHub上更新。

git checkout master
git merge --no-ff new-branch git push
origin master

答案 1 :(得分:2)

你总是可以挑选任何提交 一旦你提交了git并且你仍然有分支,内容将保持在git下,除非你用git gc删除它,例如

在你的情况下它更简单,你有分支,你也有代码(PR =完全更改),所以你可以使用cherry-pick或只是将PR中的代码添加到你的分支。 / p>

您也可以尝试将PR合并到新分支中。

一般性评论

克隆后,所有github pull请求都会存储在您的存储库中 它存储在ref文件夹旁边的.git文件夹中,因此您也可以在本地使用它。

// get locally the ID pull request
git fetch origin pull/ID/head:BRANCHNAME