sharedRepository错误的组

Pie*_*NAY 5 git permissions repository

我使用一个裸存储库,多个开发人员可以推送.

正如所建议的,我曾经sharedRepository = true告诉git给一组用户提供推送权限.

当我想添加按钮时,我只需将它们添加为辅助组(sudo adduser the_pusher the_required_group)

当devs推送时,我看到objects在使用良好权限而不是良好组创建的目录中创建的文件.

例:

$ ls -l repository/objects
...
drwxrwsr-x 2 pusher1 pusher1 4096 janv.  7 14:13 fa
drwxrwsr-x 2 pusher1 pusher1 4096 déc.  26 15:29 fc
drwxrwsr-x 2 pusher1 pusher1 4096 déc.  11 12:41 fd
...
Run Code Online (Sandbox Code Playgroud)

如您所见,附加组是主要组 pusher1

我怎样才能使用git来附加这些对象the_required_group呢?


更新

我在ssh上使用git.每个开发者都有自己的ssh帐户.

asm*_*asm 3

我的团队通过s在存储库中的所有目录上设置选项来修复此问题,然后将chmod 文件和目录设置为正确的用户/组,然后将存储库中的所有内容设置为“执行此操作”。chownchgrpchmod g+s

+s会导致新文件具有其父目录的组。取自man 2 chown

  • 如果使用 -o nogrpid 挂载文件系统,并且在父目录上启用了 set-group-ID 位,则新文件的组将与父目录的组相同。

另请参阅,man chmod以及man 2 chmod