问题描述
在项目的仓库中,有一个项目A,我将它fork到我自己的仓库中作为项目B,此时,项目B与项目A的分支是相同的。后来,在项目A里,新建了一个分支后,我要怎么把这个分支同步到项目B中呢?
追加:
项目A是搭建在 gitlab上的,所以,fork操作也是gitlab上进行的
gitlab上,好像没有大家说的new pull request这个操作
如何在Linux的命令行中,实现我上面的需求
问题解答
回答1:new pull request 将 别人 的项目当做源,同步到你的项目就可以了
回答2:拿github举例,fork之后的项目B,使用new pull request按钮,再选取后续的列表获取A上的各个分支
回答3:这种情形下据我所知有两种方式:
如果是github的化可以按照大德给的方法,gitlab不知道有没有.这种方法比较方便.
可以按照你自己给的方法,先将A库的更新pull到本地,然后再本地进行合并后push到B库.
回答4:今天请教了一下同事,他给出的一种做法是
# 1.将项目B clone 到本地git clone -b master 项目B的git地址# 2.将项目A的git地址,添加至本地的remotegit remote add upstream 项目A的git地址# 3.在本地新建一个分支,该分支的名称最好与项目A中新增的那个分支的名称相同以便区分git checkout -b 新分支名称# 4.从项目A中将新分支的内容 pull 到本地git pull upstream 新分支名称# 5.将 pull 下来的分支 push 到项目B 中去git push origin 新分支名称
其中,上面的 3 和 4 两步可以合并为下面的这一步:
git checkout -b 新分支名称 upstream/新分支名称
以上过程,总的来看,就是将项目A的分支先pull到本地,再从地本push到项目B中,即把本地当作一个中间桥梁的作用。
如果大家还有其他方法,还请不吝赐教!