私はUbuntuボックスを使用して、開発者が作業できるように裸のGitリポジトリをホストしています。
現時点では、ファイルストアとローカルテストサーバーを兼ねているため、ボックスで各開発者のユーザーアカウントを作成しています。
誰かがベアリポジトリにプッシュすると、他の開発者は、結果としてオブジェクトフォルダで変更されたファイルを操作できなくなります。新しいファイルは、プッシュする開発者のユーザーで作成されます。
すべての開発者を開発グループに配置しましたが、umaskではグループの編集が許可されていません。
Gitリポジトリを設定する必要がなかったので、権限を操作した経験がありません。各開発者がテストサーバーに独自のユーザーアカウントを持っていることを望んでおり、そのアカウントを使用してサーバー上でアクションを実行することを望んでいます。私は彼らにSudoの権利を与えてもかまいません。
各開発者のumaskを設定する方法は進んでいますか?
" マシン上の複数のユーザーとGitリポジトリを共有するにはどうすればよいですか? "は問題に対処します(ユーザーにumask
を設定する必要があります)が、gitインストールに追加することをお勧めしますgitoliteのような認証レイヤー( そのドキュメント を参照)。
git
'ユーザーによって実行されます。umask
を正確に設定できます: " Git/Gitoliteでumask
を設定 "共通のグループを作成します。 gitusers
そしてすべての開発者をこのグループに追加します。
chown -R root:gitusers /path/to/repository.git
chmod 2775 /path/to/repository.git
権限を再帰的に変更する必要がある場合があります(例:
find /path/to/repository.git -type d -exec chmod 2775 {} \;
find /path/to/repository.git -type f -exec chmod 0664 {} \;
これで、すべての開発者がリポジトリへの書き込みアクセス権を持つ必要があります。