git clone mit unterschiedlichen Dateiberechtigungen
-
29-09-2019 - |
Frage
Auf dem Server sind drei (in Wirklichkeit: Tausende von) Textdateien in einer kahlen git-Repository gespeichert. A.txt, B.txt, C.txt
- Benutzer "admin" sollte / zu bearbeiten sie alle.
- User „Foo“ sollte / zu bearbeiten „A.txt“ und „B.txt“, aber er ist nicht der Inhalt von „C.txt“ sehen erlaubt.
- User "Gast" sollte nur auf view / edit "A.txt" zugelassen werden.
Alle drei Benutzer sollten die git-Repository mit den Dateien klonen können, sie erlaubt sind zu bearbeiten.
Gibt es eine Möglichkeit, diese mit git zu machen (... oder Mercurial)?
Idee: Kann ich zwei Klone der nackten git-Repository mit der spärlichen Kasse Feature von git für den Benutzer „Foo“ und „Gast“ Weichen nur die Dateien enthalten sie sehen dürfen?
Jede andere (schneller) Idee?
Lösung
Sie sollten:
- haben drei Zweige
- Gast (mit nur
A.txt
Dateien) - Benutzer (mit A und B.txt Dateien)
- admin (mit allen Dateien)
- Gast (mit nur
Das bedeutet, dass hier häufig mischt die verschiedenen Zweige zu aktualisieren und die unterschiedliche Modifikation zu propagieren.
Plus, mit gitolite , können Sie die können steuern, ziehen / schieben, was (in einer Filiale Ebene), was bedeutet:
- ein Gast nur in der Lage sein, den
guest
Zweig zu ziehen. - ein foo Benutzer nur in der Lage sein, den
guest
Zweig und dieusers
Zweig zu ziehen, während in der Lage, dieusers
Zweig zu drücken (oder beide Zweige, wenn Sie ein Benutzer möchten die Inhalte vonguest
Zweig aktualisieren). - kann ein Admin ziehen / ziehen alle Zweige.