gerrit 配置相关问题

ssh key 生成步骤

  一设置git的user name和email:

$ git config --global user.name "lei.li"
$ git config --global user.email "lei.li@gmail.com"
二、生成SSH密钥过程:
1.查看是否已经有了ssh密钥:cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除
2.生存密钥:

$ ssh-keygen -t rsa -C “haiyan.xu.vip@gmail.com”
按3个回车,密码为空。


Your identification has been saved in /home/tekkub/.ssh/id_rsa.
Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.
The key fingerprint is:
………………


最后得到了两个文件:id_rsa和id_rsa.pub

3.添加密钥到ssh:ssh-add 文件名

ssh-agent bash -login -i
ssh-add ~/.ssh/kaka_rsa

将生成公钥文件放到服务器端(由服务器管理员来放置)


gerrit网站配置
进入设置界面
1.设置用户名邮箱(用户名和邮箱要和上面设置git的用户名和邮箱一致,否则会出现下面错误)
2.设置SSH Public Keys



--------------------------------

gpg: Can't check signature: public key not found
error: could not verify the tag 'v1.12.26.ts'

出错原因是曾使用repo sync从其它库sync过代码,删掉~/.repoconfig即可:

$ rm -rf ~/.repoconfig
--------------------------
fenglongzhong@android11:~/fenglonggood/3rdparty$ git push ssh://fenglong.zhong@10.0.64.28:29418/3rdparty HEAD:refs/for/sprdroid2.3.5_vlx_p20.01_ps7_trout
Counting objects: 58, done.
Delta compression using up to 24 threads.
Compressing objects: 100% (23/23), done.
Writing objects: 100% (30/30), 2.60 KiB, done.
Total 30 (delta 15), reused 0 (delta 0)
remote: Resolving deltas:   0% (0/15)
remote:
remote: ERROR:  In commit a7b96d735bf8cf8b47d7e1e61cab5b2cfb39f113
remote: ERROR:  committer email address Fenglong Zhong/Spreadtrum
remote: ERROR:  does not match your user account.
remote: ERROR:
remote: ERROR:  The following addresses are currently registered:
remote: ERROR:    fenglong.zhong@spreadtrum.com
remote: ERROR:
remote: ERROR:  To register an email address, please visit:
remote: ERROR:  http://review.source.spreadtrum.com/gerrit/#/settings/contact
remote:
remote:
To ssh://fenglong.zhong@10.0.64.28:29418/3rdparty
 ! [remote rejected] HEAD -> refs/for/sprdroid2.3.5_vlx_p20.01_ps7_trout (invalid committer)
error: failed to push some refs to 'ssh://fenglong.zhong@10.0.64.28:29418/3rdparty'

原因:配置的git user.email信息与gerrit注册的邮箱不一致。

解决:

repo forall -c 'git config user.email fenglong.zhong@spreadtrum.com'

repo forall -c 'git config user.name fenglong.zhong'

重新提交你的commit

git reset --soft HEAD~

git commit

执行git push。




原文地址:https://www.cnblogs.com/adamli/p/3269813.html