Wie einrichten eines git-repository, wo andere Benutzer sehen nur bestimmte Teile?
Wie richten Sie ein git-repository, in dem einige Benutzer können bestimmte Teile des source-code und andere Nutzer können sehen, alle? Ich habe schon viele guides nur geben, bestimmte Benutzer Zugriff auf das Projektarchiv, sondern diese davon ausgehen, das jeder gelesen haben sollte zugreifen. Ich habe auch gehört, gitosis, aber ich bin nicht sicher, ob Sie dies unterstützt und es hatten noch nicht alle commits, die in mehr als einem Jahr, so dass ich denke, es ist tot.
InformationsquelleAutor der Frage Joseph Garvin | 2009-07-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kurz: können Sie nicht. Git-snapshot-basiert (auf der konzeptionellen Ebene zumindest) - version control system, nicht änderungssatz basiert. Es behandelt-Projekt (repository) als ganzes. Die Geschichte ist eine Geschichte von einem Projekt, nicht eine Vereinigung von einzelnen Akten (es ist mehr als der Beitritt der pro-Datei Geschichte).
Mit Haken wie
update-paranoid
Haken in contrib, oder VREFs Mechanismus dergitolite
können Sie erlauben oder verbieten den Zugriff auf die repository, können Sie erlauben oder verbieten den Zugriff auf einzelne Filialen. Sie können sogar untersagen verpflichtet, die Dinge ändern in einem angegebenen Unterverzeichnis. Aber das Projekt wird immer als ganzes betrachtet.Gut, es ist eine Sache, die Sie tun können: machen Sie ein Verzeichnis, auf das Sie den Zugriff einschränken möchten, um in Submodulund beschränken Sie den Zugriff auf das Submodul-repository.
InformationsquelleAutor der Antwort Jakub Narębski
Git nicht unterstützt Zugriffskontrolle auf das repository. Sie kann jedoch die Umsetzung der Zugriffskontrolle auf das repository sichindem Hakeninsbesondere die
update
Haken.InformationsquelleAutor der Antwort Jörg W Mittag
Jörg hat schon darauf hingewiesen, dass Sie können verwenden Sie Haken, um dies zu tun. Genau die Haken(en), die Sie benötigen, hängt von Ihrem setup. Wenn Sie die Berechtigungen für ein repo, gedrängt zu werden, müssen Sie die
update
Haken wie er sagte. Allerdings, wenn es auf ein repo, dass Sie tatsächlich arbeiten (Begehung und Zusammenführen), müssen Sie auch diepre-commit
undpost-merge
Haken. Die githooks manpage (Jörg verlinkten auch), stellt fest, dass es in der Tat ein Skript in die contrib-Sektion, die demonstrieren eine Möglichkeit, dies zu tun. Diese erhalten Sie, indem Sie ein git tarball herunter, oder ziehen Sie es aus git ' s gitweb repo: setgitperms.perl. Selbst wenn Sie nur mit Hilfe der update-Haken, das könnte ein sinnvolles Modell.InformationsquelleAutor der Antwort Cascabel
Den nativen git-Protokoll nicht unterstützt; git übernimmt in vielen Orten, jeder hat eine komplette Kopie alle der Geschichte.
Sagte, eine option sein kann, um zu verwenden git-subtree zu abgespaltenen Teil des Repositorys, in seiner eigenen Teilmenge repository, und in regelmäßigen Abständen merge zurück.
InformationsquelleAutor der Antwort bdonlan