美文网首页
Gitlab rebase之后Gerrit出现冲突无法正常提交的

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

作者: 爱米粒宝宝 | 来源:发表于2018-11-15 14:48 被阅读59次

问题出现原因:开发在上周新拉的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 clonessh://git@gitlab.xiaopeng.local:10022/navigation/Montecarlo.git

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

3.创建新的gitlab仓库远端:git remote add origin ssh://git@gitlab.xiaopeng.local:10022/navigation/xp_montecarlo.git

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

git checkout -b D20_SOP2_Release_RC old-origin/D20_SOP2_Release_RC

git checkout -b PT1_Release_RC1 old-origin/PT1_Release_RC1

git checkout -b PT2_Release_RC1 old-origin/PT2_Release_RC1

git checkout -b SOP_Release_RC1 old-origin/SOP_Release_RC1

git checkout -b Pytools old-origin/Pytools

git checkout -b config old-origin/config

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

git checkout -b feature-eventbus-optimization old-origin/feature-eventbus-optimization

git checkout -b feature-model-refactor old-origin/feature-model-refactor

git checkout -b D20_SOP2_Release_RC old-origin/D20_SOP2_Release_RC

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

git push -u origin --all

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

git push -u origin --tags

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

git clone --bare ssh://git@gitlab.xiaopeng.local:10022/navigation/xp_montecarlo.git

相关文章

网友评论

      本文标题:Gitlab rebase之后Gerrit出现冲突无法正常提交的

      本文链接:https://www.haomeiwen.com/subject/npsyfqtx.html