合并代码仓库步骤
前言
本文主要是总结自己合并代码库的中使用的主要步骤,也是为了将来可能用到。
在使用的过程中,可以把文章中的cr-project ,cr-project-ability 替换成自己的项目名称,就可以按照具体的操作步骤进行执行
一、为什么合并代码仓库?
背景:一个功能代码,分了多个代码库。原因是之前有多个人进行同时开发,为了不同的层次的同学能够更好的独立开发且相互不受影响,进行拆分代码库。
带来的问题: 后面接手交接任务的同学修改一个功能就需要在多个代码库进行提交代码,极大的降低了代码的开发速度和排查问题效率。
二、使用步骤
合并示例:
要把cr-project-ability 合并到 cr-project 中操作流程:
步骤1:切换到合并分支上
在cr-project 中切换到一个合并分支上:
git checkout -b feature/object_2.0.0_merge
步骤2: 在cr-project-ability中切换成一个新分支
cd ../cr-project-ability
git checkout -b feature/object_2.0.0
git push origin feature/object_2.0.0
步骤3:添加cr-project-ability git地址到remote
cd ../cr-project
git remote add cr-project-ability git@xxxxxx.git
git remote -v
git@xxxxxx.git 就是cr-project-ability中真实存在的仓库,这里在执行的时候要替换自己的仓库。
步骤4:拉取cr-project-ability的远程要合并的分支
git fetch cr-project-ability
git checkout -b cr-project-ability cr-project-ability/feature/object_2.0.0
创建新目录cr-project-ability,将cr-project-ability的pom和settings复制到cr-project-ability目录下,避免合并冲突
mkdir cr-project-ability
git mv settings.xml cr-project-ability
git mv pom.xml cr-project-ability
git commit -m 'merge cr-project-ability'
这里注意使用的"git mv" ,不是mv哈
步骤5:切换到start模块新分支,合并cr-project-ability分支
git checkout feature/object_2.0.0_merge
合并分支
git merge --no-ff --allow-unrelated-histories cr-project-ability
查看合并冲突,之后使用git add,git commit 进行提交代码合并记录
git status
处理pom、gitignore、README.md文件
git commit -m 'merge cr-project-ability'
总结
提示:这里对文章进行总结:
以上就是本篇文章的主要内容,主要是解决多个代码仓库合并的问题,在合并后的代码仓库中继续保存之前的代码提交历史,希望能帮助大家哈!