簡體   English   中英

為什么我的git無法通過gitolite推送到我的服務器使用git-daemon

[英]why my git can't push to my server by gitolite use git-daemon

當我使用gitolite,忽略git-daemon ,我可以像git clone git://xxx/xxx ,但當我推送項目時,它會顯示錯誤:

Total 2 (delta 0), reused 0 (delta 0)
remote: Empty compile time value given to use lib at hooks/update line 6
remote: Use of uninitialized value in require at hooks/update line 7.
remote: Can't locate Gitolite/Hooks/Update.pm in @INC (@INC contains:  /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at hooks/update line 7.
remote: BEGIN failed--compilation aborted at hooks/update line 7.
remote: error: hook declined to update refs/heads/master
To git://www.54cxy.com/qianfuzi
 ! [remote rejected] master -> master (hook declined)

但是,當我使用像git@xxx:xxx.git這樣的ssh時,它不僅可以克隆,而且還可以推送,但我想使用git://來克隆和推送,那么我可以做些什么呢?

訣竅是,如果你克隆一個由gitolite管理的git repo,那個遠程repo將包含一個post-update鈎子( 由Gitolite保留 ),它應該由gitolite調用。

通常,您應該能夠使用本機git協議進行推送,前提是用戶'守護進程'將repo聲明為可讀( 請參閱語法 ,並參閱GitoliteV3的“ git-daemon接口 ”)

repo @all
    R   =   gitweb daemon

特殊用戶daemon可讀的任何repo都被認為是git-daemon可讀的。
對於這些repos中的每一個,在存儲庫中創建一個名為git-daemon-export-ok的空文件(即$HOME/repositoriesrepo.git目錄)。

因此,請檢查您的gitolite.conf文件是否確實提到了用戶daemon ,以及文件$HOME/repositories/git-daemon-export-ok是否存在。

暫無
暫無

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

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