gitlab/github中,fork了别人的项目之后,如何将别人新增的分支同步过来?

在项目的仓库中,有一个项目A,我将它fork到我自己的仓库中作为项目B,
此时,项目B与项目A的分支是相同的。后来,在项目A里,新建了一个分支后,我要怎么把这个分支同步到项目B中呢?

追加:

  • 项目A是搭建在 gitlab上的,所以,fork操作也是gitlab上进行的

  • gitlab上,好像没有大家说的new pull request这个操作

  • 如何在Linux的命令行中,实现我上面的需求

阅读 26.1k
4 个回答

今天请教了一下同事,他给出的一种做法是

# 1.将项目B clone 到本地
git clone -b master 项目B的git地址

# 2.将项目A的git地址,添加至本地的remote
git remote add upstream 项目A的git地址

# 3.在本地新建一个分支,该分支的名称最好与项目A中新增的那个分支的名称相同以便区分
git checkout -b 新分支名称

# 4.从项目A中将新分支的内容 pull 到本地
git pull upstream 新分支名称

# 5.将 pull 下来的分支 push 到项目B 中去
git push origin 新分支名称

其中,上面的 34 两步可以合并为下面的这一步:

git checkout -b 新分支名称 upstream/新分支名称

以上过程,总的来看,就是将项目A的分支先pull到本地,再从地本push到项目B中,即把本地当作一个中间桥梁的作用。

如果大家还有其他方法,还请不吝赐教!

new pull request 将 别人 的项目当做源,同步到你的项目就可以了

拿github举例,fork之后的项目B,使用new pull request按钮,再选取后续的列表获取A上的各个分支

这种情形下据我所知有两种方式:

  1. 如果是github的化可以按照大德给的方法,gitlab不知道有没有.这种方法比较方便.

  2. 可以按照你自己给的方法,先将A库的更新pull到本地,然后再本地进行合并后push到B库.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏