繁体   English   中英

如何通过对主项目的特定“拉”请求更新本地Forked Github项目?

[英]How can I update my local Forked Github project by a certain Pull request to main project?

我分叉了一个项目,并将其克隆到我的PC中。 我发现对主项目的拉动请求包括对我有用的东西。 如何使用当前尚未与主项目合并的某些请求请求来更新我的fork和本地副本?

我在github中有点新,因此请注意,我的意思是通过“拉动请求”提议但未合并主项目的更改。

根据您的最新评论:

感谢您的尝试,但这不是我的问题的确切答案。 就我而言,我不想获取上游仓库的最新更新。 我只想获取当前主项目尚未合并的某个提交的更新

我的答案将针对特定的提交,但是由于您的原始问题提到了请求请求(这意味着分支),因此我也将给出解决方案。

如何从远程仓库中提取一个提交

如果您输入以下内容,那么假设您拥有分叉的存储库的本地克隆,那么您应该获得一个来源:

> git show remote
origin

除非您添加了原始存储库的位置,否则您将无权访问要放入本地存储库的提交。 所以我们需要补充一点,让我们假设这个仓库是https://github.com/GitbookIO/gitbook.git 请注意,这是一个HTTPS克隆URL,因为您没有对此存储库的写权限。 我们将其命名为original_repo:

> git remote add original_repo https://github.com/GitbookIO/gitbook.git

现在,让我们取回所有引用:

> git fetch origina_repo

至此,您已经拥有了本地所有的需求,您只需要将提交合并到您的一个分支中,就可以假设您是本地主。

查找您要合并的提交。 这意味着可以在团队使用的分支机构之一中找到它。 可能已经合并到master,或者您可以从用于拉取请求的分支中将其拾取。 无论哪种方式,只要不知道引用,都可以运行一系列git log来检查所需的提交。 完成后,只需转到要合并提交并运行的分支:

> git cherry-pick COMMIT_ID

这将把提交带到您当前所在的任何分支。

如何从远程仓库合并分支

此步骤的唯一区别在于,您无需进行“挑选”操作,而是可以进行合并。 因此,假设pull请求的内容在名为so-pr的分支中,您只需执行以下操作:

> git merge original_repo/so-pr

这样会将so-pr的内容合并到您的工作分支中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM