如何将拉取请求合并到旧分支?

时间:2014-01-15 01:54:29

标签: git merge branch legacy

所以我创建了一个分支,将其保存为项目当前状态的快照。我称之为“v1”。

然后我重构了一些代码并提交给master分支。所以现在我拥有最新,最伟大的主人。

我的问题是:如果有人向掌握提交拉取请求,我该如何维护旧分支?有没有一种简单的方法可以将拉取请求合并到两个分支上?

我期待的是:如果文件发生了很大变化,那么就会出现冲突。但如果没有,那么它只会合并PR引入的更改,即使PR的基础位于我的遗留“v1”分支之前。

1 个答案:

答案 0 :(得分:1)

git fetch <remote>
git merge <remote>/<ref>

其中remote是拉取请求源自的远程分支的名称,ref是请求拉取的提交(或分支)的标识符。因此,如果您将主存储库作为名为upstream的远程存储库,并且该存储库具有基于5d4434e的拉取请求(如此repository's pull request)。你会运行:

git fetch upstream
git merge upstream/5d4434e

这将合并该提交和本地仓库中缺少的所有历史记录。如果您只想合并该提交的更改而不是所有历史记录,则可能需要git cherry-pick upstream/5d4434e