本地git项目上传到gerrit(基于Ubuntu18.04)

1、打开本地的项目,更改远程仓库源

#查看当前仓库源
git remove -v
#新的远程仓库 git remote set-url <仓库名> <仓库链接>
git remote set-url origin  ssh://admin@10.158.xxx.xxx:29418/user_sg3.git

2、强行合并分支

git push origin HEAD:refs/for/master

3、推送所有分支和标签到Gerrit

git push --all
git push --tags

4、正式推送代码到gerrit,步骤3是为了添加推送内容

git push origin HEAD:refs/for/master

这里可能会报一个! [remote rejected] HEAD -> refs/for/master (no new changes)的错误,我这里的解决方法是随便改了一点无关代码,这样代码就会有更新(可能不够科学^ ^) 然后会出现change ID 的错误! 按照提示重置chenge ID,我的情景如下:

gitdir=$(git rev-parse --git-dir); scp -p -P 29418 admin@10.158.xxx.xxx:hooks/commit-msg ${gitdir}/hooks/

git commit --amend --no-edit

然后再次push

经验分享 程序员 微信小程序 职场和发展