多个代码库合并踩坑

由于项目是在开源代码的基础上进行二次开发,加上公司自己的代码库gerrit, fork开源项目的代码库和开源项目本身的库,就有3个代码库,这3个代码之间需要进行同步更新。fork的代码库和开源的代码之间很好进行同步更新,问题是如何把fork的代码库与gerrit上的代码库进行更新。首先把fork的代码库的源加到gerrit上的代码库中,然后fetch,把fork的代码库的master分支合并到gerrit的代码库中的一个分支上,解决冲突,提交代码,merge完成,这整个过程没有什么问题,但是push的时候问题来了,gerrit要求每一个commit都有一个change_id, 但是提交到github上的commit没有change_id, 最后就导致没办法把merge后的代码提交到gerrit上的代码库中。
最后想了一个很烂的办法,在github上的代码库中进行开发,然后把测试完成的代码复制到gerrit的代码中,然后commit,push,上线。

备注:合并不同源的代码命令

1. git remote -v #查看当前项目的远程仓库配置 
2. git remote add upstream 原始项目仓库的git地址 # 把原项目的远程仓库添加到fork的代码的远程中 
3. git remote -v # 可以看到原项目的远程仓库已经在配置里了

4.git fetch upstream # 拉取最新的代码 
5. git merge upstream/master # mege

猜你喜欢

转载自blog.csdn.net/python_tty/article/details/80817985