工作生活

Gitlab rebase之后Gerrit出现冲突无法正常提交的

2019-06-29  本文已影响0人  爱米粒宝宝

Gitlab rebase之后Gerrit出现冲突无法正常提交的解决方法

问题出现原因:开发在上周新拉的branch由于代码跟主干有差异,需要rebase到主干,然后在开发。

1.首先由于gerrit上的同步代码机制的原因,导致无法在gerrit上直接操作,因此我们想到先在gitlab做rebase之后在同步到gerrit,但是没有考虑到gerrit这个时候还有提交没有submit,导致rebase之后gerrit无法做code review。(期间尝试了google无数种方法,操作数据库删除对应的commit id所有提交,然后更新本地cache,远程abandoned 该提交都无法实现)

暴力快速解决方式:

1.首先创建新的gitlab代码库,把以前的gitlab代码库先git clone到本地:git clone url

2.变更gitlab名称:git remote rename origin old-origin

3.创建新的gitlab仓库远端:git remote add origin url

4.把所有old-origin远端分支同步到本地:

git checkout -b config old-origin/config

git checkout -b feature-dianping old-origin/feature-dianping

5.Push所有的分支及代码到远端新的仓库:

git push -u origin --all

6.Push 所有的Tag带远端新的仓库:

git push -u origin --tags

7.在Gerrit上创建新的远端去同步新的gitllab仓库:

git clone --bare url

上一篇 下一篇

猜你喜欢

热点阅读