如何在github或gitlab中将upstream项目中的新分支添加到fork后的origin项目中?
1、问题:
在gitlab或github中,将某项目进行了fork,fork后在自己的项目空间中就有了自己的origin项目,之后如果在源项目(upstream项目)中添加了新的分支,但是在自己的origin项目中不会被同步添加上,这就需要自己去添加这个分支(假如分支名为:new)。
2、解决:
要将新的分支添加到自己的origin项目中,
1)首先需要在本地将两个项目都添加到git 的remote管理里,需要有两个remote:
upstream:源项目地址
origin:fork后自己项目空间中的项目地址
2)可以使用git fetch命令拉取所有的分支最新状态
3)使用git checkout -b new upstream/new 来创建本地的新分支
4)使用git push -u origin new 来把新分支推到自己的origin项目空间中,但会有个问题就是,如果新的分支同时存在tag,则在推的时候就会报错:
error: src refspec new matches more than one
此时可以使用如下命令来进行推送:
推送tag::git push -u origin refs/tags/new
推送分支:git push -u origin refs/heads/new