5

複数の開発者がプッシュできる裸のリポジトリを使用しています。

示唆されているように、私はsharedRepository = truegit に、ユーザーのグループにプッシュの許可を与えるように指示していました。

プッシャーを追加したい場合は、必要なグループをセカンダリ グループとして追加するだけです ( sudo adduser the_pusher the_required_group)

開発者がプッシュする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
...

ご覧のとおり、接続されたグループはのプライマリ グループです。pusher1

the_required_group代わりに、これらのオブジェクトを git にアタッチするにはどうすればよいですか?


アップデート

ssh で git を使用しています。各開発者は独自の ssh アカウントを持っています。

4

1 に答える 1

3

私のチームはs、リポジトリ内のすべてのディレクトリにオプションを設定しchmod てこれchownchgrp修正し、ファイルとディレクトリを正しいユーザー/グループに設定chmod g+sしてから、リポジトリ内のすべてに設定しました。

これ+sにより、新しいファイルが親ディレクトリのグループを持つようになります。から撮影man 2 chown

  • ファイル システムが -o nogrpid でマウントされ、set-group-ID ビットが親ディレクトリで有効になっている場合、新しいファイルのグループは親ディレクトリのグループと同じになります。

も参照してくださいman chmodman 2 chmod

于 2013-01-07T13:53:29.893 に答える