我试图将主分支从客户端推送到安装了gitlab的服务器。但是,我收到以下错误信息:
[root@warehouse git-sample]# git push origin master
git@192.168.7.82's password:
Counting objects: 3, done.
Writing objects: 100% (3/3), 224 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: GitLab: No user or key was provided.
To git@192.168.7.82:ite-pon/git-sample.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@192.168.7.82:ite-pon/git-sample.git'
看起来gitlab在项目中设置了预接收挂钩,但阻止了推送操作。
有人有任何想法处理这个问题吗?谢谢〜:)
/////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///
以下是服务器和客户端的详细配置和信息:
服务器:GitLab& Git&存储库信息
[root@warehouse git-sample.git]# pwd
/opt/gitlab/apps/gitlab/repositories/ite-pon/git-sample.git
Gitlab记录客户端的ssh pub密钥(没有足够的信誉发送 img :()
将管理员(客户端用户)设置为此项目的主服务器,并作为 域名所有者。
服务器:配置
[root@warehouse repositories]# grep git /etc/passwd
git:x:502:502:Git:/opt/gitlab/apps/gitlab/repositories:/opt/gitlab/git/bin/git-shell
客户:工作区信息
[root@warehouse git-sample]# pwd
/root/workspaces/git-sample/git-sample
[root@warehouse git-sample]# ls
readme.txt
[root@warehouse git-sample]# git branch
dev
* master
[root@warehouse git-sample]# git remote -v
origin git@192.168.7.82:ite-pon/git-sample.git (fetch)
origin git@192.168.7.82:ite-pon/git-sample.git (push)
客户端:SSH& Git Info
[root@warehouse git-sample]# git config --global user.name
Administrator
[root@warehouse git-sample]# git config --global user.email
admin@gitlab.xxxxxxxxxxx.com
[root@warehouse git-sample.git]# ls -l ~/.ssh/id_rsa.pub
-rw-r--r-- 1 root root 413 7月 1 15:51 /root/.ssh/id_rsa.pub
答案 0 :(得分:3)
您似乎遇到了https://gitlab.com/gitlab-org/gitlab-ce/issues/2156上刚刚记录的错误 - 解决方法是从服务器上的authorized_keys文件中删除密钥。
答案 1 :(得分:0)
这对我有帮助。此命令从数据库获取所有密钥并更新authorized_keys文件中的记录。
对于Omnibus包:
sudo gitlab-rake gitlab:shell:setup
对于来自源的安装:
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:shell:setup RAILS_ENV=production
http://doc.gitlab.com/ce/raketasks/maintenance.html#rebuild-authorized_keys-file