如何在github或gitlab中将upstream项目中的新分支添加到fork后的origin项目中?

发布时间 2023-08-28 12:16:28作者: 烟花火的人生

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