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://gitolite@server/project
   ed683c3..b27b683  develop -> develop

我该如何解决?

4

1 回答 1

1

请注意,该线程提到了该“ Unable to append to ./logs/HEAD”错误消息来自远程存储库的共享性质的可能性。
不同的用户 id 访问共享的含义,而不仅仅是使用相同的 git 帐户的不同人。

在这种情况下:

  • core.sharedRepository在该仓库的 git 本地配置中设置true(gitolite 服务器上的裸仓库)将有所帮助,
  • 以及至少手动修复权限logs/HEAD:该线程提到“所有文件和目录${repo}.git都应归该组所有并+rw为该组所有”,但这可能不是一个很好的例子。在“ Redmine + Gitolite - 存储库权限问题等
    ” 中查看更完整的示例。
于 2013-04-01T19:00:17.290 回答