所以我创建了一个分支,将其保存为项目当前状态的快照。我称之为“v1”。
然后我重构了一些代码并提交给master分支。所以现在我拥有最新,最伟大的主人。
我的问题是:如果有人向掌握提交拉取请求,我该如何维护旧分支?有没有一种简单的方法可以将拉取请求合并到两个分支上?
我期待的是:如果文件发生了很大变化,那么就会出现冲突。但如果没有,那么它只会合并PR引入的更改,即使PR的基础位于我的遗留“v1”分支之前。
答案 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
。