GitLab不同项目仓库合并

404 阅读1分钟

需求:两个同框架的项目实现关联,同步更新

业务场景:项目A是项目B旧版本拷贝初始化的项目,项目B更新后,需要同步到项目A,并实现关联

操作流程:

  1. 添加源项目(项目B)为目标项目(项目A)的上游
git remote add upstream 项目B的git地址
  1. 检查是否添加成功
git remote -v
  1. 获取源项目的更新
git fetch upstream
  1. 创建目标项目(项目A)的热更新分支(dev_hot)及 热更新测试分支(dev_hot_test)
  2. 在目标项目建立分支并拉取 源项目/源分支
git merge --no-ff hot_merge  --allow-unrelated-histories
  1. 切换到热更新分支(dev_hot)合并刚刚建立的新分支
git merge --no-ff ui_merge  --allow-unrelated-histories
  1. 处理冲突 正常情况下,冲突处理完成后推送即可,但因为项目开启了commit message校验,项目B存在很多不合规范的历史提交,所以放弃关联,强制合并
  2. 贮藏修改的文件
  3. 到目标分支(dev_hot_test)释放贮藏并推送 10.测试无误后将热更新测试分支(dev_hot_test)推送到开发分支(dev)