2013-04-01 51 views
2

我有服務器gitolite旁邊配置混帳推錯誤消息

@developers = john bill 

repo gitolite-admin 
     RW+  = admin 

repo main-project 
     RW+CD  = admin 
     R master$  = @developers 
     RW+ develop$ = @developers 

和所有@developers可以看到下一個錯誤消息,當他們這樣做git push

$ git push origin develop 
Counting objects: 117, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (88/88), done. 
Writing objects: 100% (93/93), 400.94 KiB 
Total 93 (delta 17), reused 0 (delta 0) 
error: Unable to append to ./logs/HEAD: P 
To ssh://[email protected]/project 
  ed683c3..b27b683  develop -> develop 

我怎麼能解決呢?

+1

您是否檢查文件'.git/logs/HEAD'的權限和所有者? – niculare

+0

@niculare本地或遠程? – user1016265

+0

由於問題在您推送時出現,我懷疑遠程存在問題。 – niculare

回答

1

請注意,this thread提到了該「Unable to append to ./logs/HEAD」錯誤消息來自遠程回購的共享特性的可能性。
被不同用戶ID訪問的共享含義,不僅僅是不同的人使用同一個git帳戶。

在這種情況下:

  • 設置core.sharedRepository在該回購的GIT中本地配置true(在gitolite服務器上的裸回購)會有幫助,
  • 以及固定式權限手動在至少在logs/HEAD:線程提到「所有文件& dirs在${repo}.git下應歸該組所有,+rw爲組」,但這可能不是一個好例子。
    在「Redmine + Gitolite - Issue with repository permissions and more」處查看更完整的示例。