为了实现Gerrit两个不同的仓库之间同步管理,包含完整的原生态的版本信息。
条件:
1,两个仓库的访问操作权限
2,通过git remote add <自定义B仓库名> <仓库路径>,例如:git remote add B ssh://gerrit@XXXXXXXXX:29418/android_001/cts
操作:
1,在gerrit上找到记录
如果是open状态,请先操作submit
http://xxxxxxxxxx:8085/q/status:open
2,进入到本地已repo init的目录,更新A仓库最新版本。
git checkout A_dev001 //切换分支
git pull //更新
3,连接vpn
4,更新B仓库
git checkout B_dev001 //切换B仓库的分支
git pull //更新
5,切换回A仓库分支,执行推送命令,完成推送到B仓库
git checkout A_dev001
git push B HEAD:refs/for/B_dev001
如果出现xxxxx-closed错误,处理方法
进入到博世分支,然后git cherry-pick <commitID>,再次推送,示例:
git checkout B_dev001
git cherry-pick 0bda086dac6f20cc7e036269e21ceb2daa25bf91
git push B HEAD:refs/for/B_dev001
如果出现(no new changes)错误,请验证是否有更新,分支是否正确。
6,断开vpn