git push with error message

时间:2013-04-01 17:25:20

标签: git gitolite

我在服务器上有下一个配置的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://gitolite@server/project
   ed683c3..b27b683  develop -> develop

我该怎么解决?

1 个答案:

答案 0 :(得分:1)

请注意,this thread提到“Unable to append to ./logs/HEAD”错误消息可能来自远程仓库的共享特性。
共享意义由不同的用户ID访问,而不仅仅是由使用相同git帐户的不同人员访问。

在那种情况下:

  • 在该repo的git本地配置中设置core.sharedRepositorytrue(gitolite服务器上的裸仓库)会有所帮助,
  • 以及至少在logs/HEAD上手动修复权限:该主题提到“${repo}.git下的所有文件和目录应由该组拥有,而+rw归该组所有“,但这可能不是一个好例子 请参阅“Redmine + Gitolite - Issue with repository permissions and more”上的更完整示例。