為了實作Gerrit兩個不同的倉庫之間同步管理,包含完整的原生态的版本資訊。
條件:
1,兩個倉庫的通路操作權限
2,通過git remote add <自定義B倉庫名> <倉庫路徑>,例如:git remote add B ssh://[email protected]: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