git - visual studio tfs version control




Schützen einer Git-Verzweigung in Visual Studio Team Services (4)

Ich fand, dass ich etwas mehr Schritte machen musste, um das zu erledigen

Es gibt 2 Orte, um Gruppen im visuellen Studio online zu definieren - auf der Sammlungsebene und auf der Projektebene.

Auf der Sammlungsebene habe ich eine Admin-Gruppe erstellt und eine Entwicklergruppe erstellt. Ich wollte nur, dass Personen in der Admin-Gruppe Schreibzugriff auf den Master-Zweig in meinem Repository haben.

Auf Projektebene habe ich dem Projektteam Entwickler und Administratoren hinzugefügt. In der Gruppe Projektmitarbeiter entfernte ich das Projektteam und fügte nur die Entwicklergruppe hinzu

In der Gruppe der Projektadministratoren habe ich die Admin-Gruppe für die Sammlungsebene hinzugefügt.

Dann setze ich auf der Registerkarte Versionskontrolle im Master-Zweig contribute = deny für die Contributors-Gruppe

Da Administratoren keine Mitglieder der Contributors-Gruppe sind, wird die Deny-Berechtigung nicht auf sie angewendet, und sie können weiterhin Änderungen an Master übergeben - entweder direkt oder durch Genehmigung von Pull-Anfragen

Ich möchte nur explizit erlaubte Entwickler zu einer 'Master'-Filiale zusammenführen. Ich habe den Ort der Sicherheitseinstellungen gefunden, aber nichts scheint mir zu erlauben, 'diesen Zweig zu sagen, erlaube Rob nur, sich in ihn einzumischen'. Irgendwelche spezifische Anleitung bitte?


Normalerweise erstelle ich eine spezielle VSO-Gruppe wie "Devs" und lege dann die Entwickler hinein. Dann benutze ich die Gruppe als eine Mitgliedsgruppe von Projektmitwirkenden und dann speziell in der Branche, die ich schützen möchte, benutze ich die "Devs" -Gruppe und setze Contribute auf Deny, daher wird nur den Mitgliedern der "Devs" -Gruppe der Beitrag verweigert , aber zB können Project Admins es noch einschieben.

Wenn Sie Contribute direkt in der Contributors-Gruppe auf Verweigern setzen, kann niemand den Zweig eindrängen, nicht einmal Administratoren und nicht einmal, wenn Sie Zulassen ausdrücklich für Contribute festlegen, weil Verweigern stärker ist als Zulassen - es sei denn, Sie nehmen größere Änderungen an der Contributors vor ursprüngliche Gruppen.


Sie können MASTER in VSTS ziemlich einfach schützen, da TFS Enterprise-Git-Funktionen bietet. Es gibt zwei Möglichkeiten, dies zu erreichen.

1) Git Branch Berechtigungen

Auf den Administrationsseiten unter der Registerkarte Versionskontrolle können Sie die Berechtigungen für jede veröffentlichte Zweigstelle ändern. Sie müssen den Zugriff auf der Repo-Ebene beibehalten, jedoch können Sie bei MASTER die Contribut-Berechtigung "Contributor" auf "nicht konfiguriert" setzen. Sie können dann nur Rob hinzufügen ...

Oh ... Benutze immer "nicht gesetzt" und nicht "ablehnen", da "ablehnen" immer überschrieben wird.

2) Git Branch Richtlinien

VSTS hat die Idee von Branch Policies eingeführt. Diese Branch-Richtlinien können auf jeden Zweig angewendet werden, werden jedoch traditionell auf MASTER angewendet.

Hier können Sie mehrere Richtlinien anwenden, um Ihre Bedürfnisse zu berücksichtigen ... Ich habe immer festgelegt


Ich habe erfolgreich die (2) Arten von Gruppen basierend auf @anthonybrown erstellt. Ich wollte jedoch einige Screenshots geben, um die Erklärung zu erklären, wie man Benutzer daran hindern kann, den master Zweig (oder andere Zweige Ihrer Wahl) auf einer Repository-Basis zu löschen, zu pushen und beizutragen eine globale Ebene.

Beachten Sie, dass wir basierend auf unserem VSTS bereits Benutzer zum "globalen" Team hinzugefügt haben. Ich habe diese Benutzer nicht entfernt, sondern sie zu (2) separaten Gruppen hinzugefügt.

  • Entwickler
  • Administratoren

1) Gehen Sie zu Ihrem Basis-VSTS-Bildschirm (dies wird standardmäßig auf /_projects in der URL gesetzt.

2) Klicke auf das Zahnrad und wähle "Sicherheit"

3) Wählen Sie auf der linken Seite "Create Group" und nennen Sie es "Developers". Sobald die Gruppe erstellt wurde, wählen Sie die Gruppe aus, und wählen Sie im mittleren Bereich "Mitglieder". Fügen Sie alle Benutzer hinzu, denen Sie NICHT die Rechte für den Zweig "Master" zu dieser Gruppe hinzufügen möchten. (Hinweis: Ihre Benutzer müssen bereits vor diesem Schritt zu VSTS hinzugefügt worden sein).

4) Erstellen Sie die Gruppe "Administratoren" und fügen Sie die Benutzer hinzu, auf die Sie zugreifen möchten. (Hinweis: Wenn Ihre Benutzer in der Gruppe "Administratoren" bereits auf globaler Ebene oder auf Projektebene zu VSTS hinzugefügt wurden, können Sie diesen Schritt überspringen. Ich habe dies unabhängig davon getan).

5) Gehen Sie zurück zur VSTS-Homepage (/ _projects) und wählen Sie Ihr Repository, das den Zugriff auf den Master-Zweig einschränken soll. Wählen Sie "Versionskontrolle". Wählen Sie auf der linken Seite den Zweig "Master". Wählen Sie im mittleren Bereich "Sicherheit". Fügen Sie die Gruppe "Entwickler" hinzu. Wählen Sie die Gruppe "Entwickler" (einmal hinzugefügt) und setzen Sie den Zugriff auf "Ablehnen" für:

  • Contribute (das wird drängen
  • Richtlinien bearbeiten
  • Kraftschub
  • Berechtigungen verwalten





vsts