Git Repositories mit mehreren Nutzern
Wenn man ein zentrales git Repository verwendet initialisiert man dieses meistens mit $git init –bare Repo.git
Das klappt bei einem einzigen User wunderbar und man kann arbeiten wie gewünscht. Wenn es dann mal mehr Nutzer werden sollen muss man zunächst eine Gruppe anlegen (ich nehme ‘git’) und dann die Nutzer der Gruppe hinzufügen: $groupadd git $useradd user2 $usermod -G git -a user2
Dann kann man in sein Repository gehen und die Gruppe der Dateien ändern: $cd Repo.git $chown -R git *
Das Problem ist allerdings, dass git standardmäßig die Gruppenrechte der Objekte auf nicht-schreibbar setzt. Wenn also jemand ein neues Objekt pushed, dann kann es nur von diesem User bearbeitet werden. Die Lösung für das Problem ist, dass man entweder zu Anfang das Repository als shared erstellt: git init –bare –shared Repo.git
Oder nachträglich über
$git config --add core.sharedRepository true
die betreffende Einstellung ändert. Nun sollten alle Gruppenmitglieder Schreibrecht auf die Objekte erhalten und es sollte keine Konflikte beim Pushen mehr geben.