簡體   English   中英

Gitlab推。 您不能訪問master

[英]Gitlab push. You are not allowed to access master

我已經建立了自己的服務器(在家里),我通過主機上的putty到達它。

安裝和配置Gitlab,我可以訪問gitlab並登錄。但是當我嘗試將文件(通過HTTP)推送到我自己的項目時,我得到以下消息:

POST git-receive-pack (381 bytes)
remote: GitLab: You are not allowed to access master![K
remote: error: hook declined to update refs/heads/master[K
To http://myserver.com/root/push2jump.git
 ! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'http://myserver.com/root/push2jump.git'

我使用HTTP而不是SSH,因為我得到“訪問被拒絕”,所以基本上都沒有工作。

當我跑

sudo bundle exec rake gitlab:check RAILS_ENV=production

它告訴我Sidekiq腳本沒有運行(我似乎無法修復,不確定它是否與此問題有關)當然它告訴我存儲庫是空的。 其余的似乎很好。

我檢查了

.ssh/authorized_keys

這似乎也是正確的,鍵與我保存的鍵相同。

我在gitlab-shell / config.yml中的repos_path看起來不錯,不使用符號鏈接:

repos_path: /home/git/repositories/

我已經運行了官方的gitlab安裝指南。

任何人都可以幫我解決這個問題嗎? 提前致謝

UPDATE

System information
System:         Ubuntu 12.04
Current User:   git
Using RVM:      no
Ruby Version:   2.0.0p481
Gem Version:    2.0.14
Bundler Version:1.6.2
Rake Version:   10.3.1
Sidekiq Version:2.17.0

GitLab information
Version:        6.9.2
Revision:       e46b644
Directory:      /home/git/gitlab
DB Adapter:     mysql2
URL:            ***
HTTP Clone URL: ***/some-project.git
SSH Clone URL:  ***:some-project.git
Using LDAP:     no
Using Omniauth: no

GitLab Shell
Version:        1.9.4
Repositories:   /home/git/repositories/
Hooks:          /home/git/gitlab-shell/hooks/
Git:            /usr/local/bin/git

我有這個問題,因為我有一個master作為受保護的分支

保護分公司不接受推送

一旦我不受保護分支,我就能推得很好

殺死它,然后再使用Gitlab的Omnibus版本重新開始。

唯一需要在64位Ubuntu上運行它的東西 - 不確定為什么它們沒有32位,但你有。

我已經下載了安裝 - 重新安裝 - 嘗試 - 再次地獄,直到我使用Omnibus版本。

兩個“討厭”的東西:Gitlab的Omnibus安裝使用的是Nginx Web服務器而不是Apache(但鑒於Nginx沒有為每個連接打開一個新進程,這是有充分理由的......)它使用PostgreSQL而不是比MySQL的數據庫。 對於家庭/家庭辦公室使用,當然你可以在同一台機器上安裝PostgreSQL和MySQL。 不太明顯的是如何運行Apache和Nginx,或者真的,如何讓Nginx在維護Gitlab的同時運行多個虛擬服務器。

我有一個非常相似的症狀,並通過更改項目成員資格解決了問題。 推送嘗試后我從TurtoiseGit收到的錯誤消息是:

git.exe push --progress“origin”master:master

計數對象:14,完成。 Delta壓縮最多使用4個線程。 壓縮對象:100%(7/7),完成。 寫入對象:100%(8/8),857字節| 0字節/秒,完成。 總計8(delta 3),重復使用0(delta 0)

remote:GitLab:你不能訪問master! remote:錯誤:hook拒絕更新refs / heads / master

致git@gitlab.int.mycompany.com:datascience/ compliance.git! [遠程拒絕] master - > master(hook拒絕)錯誤:未能將某些引用推送到'git@gitlab.int.mycompany.com:datascience/ compliance.git'

git沒有干凈地退出(退出代碼1)(33181 ms @ 6/27/2014 9:50:32 AM)

在gitlab管理頁面中,我發現我不是我試圖推送的項目的成員。 我是項目組的成員,但不是項目。

在我將自己添加為項目成員后,我的推送成功而沒有錯誤。

只是讓You are not allowed to access master! 我擁有的存儲庫上的錯誤。 所有受保護的分支設置均未更改。 問題似乎是在執行GitLab服務器備份后立即發生的; 可能服務器處於不良狀態。 在檢查了我的GitLab設置后,我又能夠再次推送:

gitlab-rake gitlab:check

GitLab的故障排除指南 在GitLab 7.4.3上觀察到了這個問題。


最初我認為這是受保護的分支機構問題。 我失去了對我是其所有者的存儲庫分支的訪問權似乎很奇怪。 禁用分支上的保護后,仍然會導致相同的訪問問題。 恢復受保護的分支使我處於相同的狀態。 我執行了GitLab檢查(如上所述),似乎解決了這個問題。

在我的情況下,這是因為獨角獸的端口被另一個java進程占用,將此行unicorn ['port'] = 8090添加到/etc/gitlab/gitlab.rb並運行:sudo gitlab-ctl reconfigure

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM