@David Underhill ve @kixorz cevaplarını birleştirerek , kendi (kesin) çözümümü yaptım.
Bu içindir çıplak repo ve olmayan çıplak repo. Aralarında çok az fark var ama bu şekilde daha net.
Çıplak DEPO
cd <repo.git>/ # Enter inside the git repo
git config core.sharedRepository group # Update the git's config
chgrp -R <group-name> . # Change files and directories' group
chmod -R g+w . # Change permissions
chmod g-w objects/pack/* # Git pack files should be immutable
find -type d -exec chmod g+s {} + # New files get directory's group id
nerede:
<repo.git>
tipik olarak sunucudaki (örneğin my_project.git/
) çıplak depo dizinidir .
<group-name>
git kullanıcıları için grup adıdır (örneğin kullanıcılar ).
Çıplak Olmayan Depo
cd <project_dir>/ # Enter inside the project directory
git config core.sharedRepository group # Update the git's config
chgrp -R <group-name> . # Change files and directories' group
chmod -R g+w . # Change permissions
chmod g-w .git/objects/pack/* # Git pack files should be immutable
find -type d -exec chmod g+s {} + # New files get directory's group id
nerede:
<project_dir>
.git
klasörü içeren proje dizinidir .
<group-name>
git kullanıcıları için grup adıdır (örneğin kullanıcılar ).