gitlab下如何同步fork后的项目

  • 开源gitlab如何同步fork分支,gitlab同步fork分支,如何同步frok分支
  • 解决问题思路
  • 实现方案-文字教程
  • 图片教程


开源gitlab如何同步fork分支,gitlab同步fork分支,如何同步frok分支

开源版本的gitlab 并不支持 类似github.com里的pull request那种在线同步fork功能,那么在gitlab里面fork项目的时候,主项目提交代码了一段代码,那些fork出来的项目想要同步主仓库代码,如何操作了?

解决问题思路

对于git而言,需要同步分支,合并分支,就是2个分支进行对比,合并,那么我们的fork主对方仓库的时候,只要把fork的主仓库,变成我们项目其中一个分支,然后对它进行合并即可解决问题

实现方案-文字教程

我们这里称我们frok的主项目叫base项目,我们自己的项目叫my项目

1.在my工程下添加base项目的远程仓库地址

语法: git remote add <远程名称自定义命名> <base项目的仓库地址> 例子: git remote add base https://gitee.com/chenshiyun/springboot-assembly-mybatis 2.把项目base更新到本地的my项目里
语法: git fetch <你要同步的remote分支名称> 例子: git fetch base 3.切换到你自己想要merge的分支,我切换到我的master分支
语法: git checkout <branch> 例子: git checkout master 比如我切换到master
4.merge base项目的更新到你的my工程,把远程fork的base项目的master合并到我的分支
语法: git merge <你需要合并的分支名称> 例子: git merge base/master

图片教程

1.项目说明,假装不支持在线pull request,然后我手动合并,按照上面教程

gitlab 同步所有项目 两个gitlab怎么同步_spring

2.在my工厂下添加base项目的远程仓库地址

git remote add base https://gitee.com/geekidea/spring-boot-assembly.git

gitlab 同步所有项目 两个gitlab怎么同步_spring_02


3.更新base分支代码到我本地

git fetch base

gitlab 同步所有项目 两个gitlab怎么同步_远程仓库_03


4.我们切换分支到我们自己的分支里,为了看的清楚,我特意加了个dev分支

git checkout dev

gitlab 同步所有项目 两个gitlab怎么同步_spring_04


5.进行分支合并git merge base-project/master

gitlab 同步所有项目 两个gitlab怎么同步_gitlab 同步所有项目_05


6.idea也有其他的方式

gitlab 同步所有项目 两个gitlab怎么同步_远程仓库_06


或者根据提交记录来合并

gitlab 同步所有项目 两个gitlab怎么同步_远程仓库_07


总之分支拉到你本地,怎么合并看你自己