Gerrit 代码提交问题汇总--持续更新
一、带提交记录的代码迁移服务器
git remote add <remote-name> <remote-address> git fetch <remote-name> git rebase <remote-name>/<remote-branch> git push -f <remote-name> HEAD:refs/for/<remote-branch>%submit
其中,remote-name可以随便命名,<remote-address>是项目的路径,<remote-branch>是项目的分支名称,比如:
git remote add gerrit ssh://l@10.200.4.119:29418/b60_ioc/workspace/MssR.git
git fetch gerrit
git rebase gerrit/master
git push -f gerrit HEAD:refs/for/master%submit
此例中,
remote-address:ssh://l@10.200.4.119:29418/b60_ioc/workspace/MssR.git
remote-name:gerrit
remote-branch:master -- 这个是MssR.git项目的主分支
二、缺少change-id
方法一、按照错误提示操作
- 运行hooks命令
gitdir=$(git rev-parse --git-dir); scp -p -P 29418 name@git.co.com:hooks/commit-msg ${gitdir}/hooks/
或[针对上述命令错误操作]gitdir=$(git rev-parse --git-dir); scp -O -P 29418 name@git.co.com:hooks/commit-msg ${gitdir}/hooks/
- 重新commit
git commit --amend
方法二、需要Gerrit管理员操作
project -> list -> 提交的项目 -> Require Change-Id in commit message: false
- 选择Projects;
- 选择List;
- 点击需要提交的项目;
- 找到"Require Change-Id in commit message";
- 将后面的选项改为"FALSE";
- Save Change。
三、服务器host改变
l@l-ThinkCentre-M4500k-N000:~$ ssh-keygen -R server_ip
l@l-ThinkCentre-M4500k-N000:~$ mv .ssh/known_hosts .ssh/known_hosts_bak
其中,server_ip是gerrit服务的ip,比如:
对于Gerrit: http://10.200.4.119:8081/#/admin/projects/b60_ioc/workspace/MssR
执行命令:
ssh-keygen -R 10.200.4.119
mv .ssh/known_hosts .ssh/known_hosts_bak