Stash 2.0: Branch-Permissions, bessere Unterstützung von Pull-Requests, @-Mentions, Markdown in Kommentaren

Verteilte Versionskontrollsysteme (DVCS) sind ein Trend der Stunde und verbreiten sich rasend schnell. In diesem Bereich ist Git mit seiner unglaublichen Flexibilität eine der stärksten und angesagtesten Lösungen. Zahllose Open-Source-Projekte, Startups und auch große Unternehmen nutzen Git, um schneller mit einer distributierten Code-Basis arbeiten zu können.

Die Adaption von Git bringt aber einige Herausforderungen mit sich. Mit wachsenden Projekten nimmt auch die Anzahl der beteiligten Entwickler, der Repositories und der Feature-Branches zu. Enterprise-Teams benötigen also eine Möglichkeit, um ihre distributierte und wachsende Code-Basis zu verwalten.

An dieser Stelle tritt Stash von Atlassian auf den Plan. Stash bietet eine zentrale Lösung zum Management des gesamten distributierten Codes: Hier kommen alle Git-Repositories im Unternehmen zusammen, hier finden Entwickler immer die letzte offizielle Version eines Projekts, hier können Manager Berechtigungen kontrollieren, um sicherzustellen, dass die richtigen Nutzer Zugriff auf den richtigen Code haben.

Nun ist Stash in der Version 2.0 erschienen und bringt neue und sehr interessante Schlüsselfunktionen mit: Berechtigungen für Branches, eine bessere Unterstützung von Pull-Requests, @-Mentions und Markdown in Kommentaren.

Kontrolle durch Branch-Berechtigungen

Git erlaubt es Entwicklern grundsätzlich, Branches frei zu erstellen, zu mergen und zu löschen. Diese fehlenden Steuerungsmöglichkeiten sind für Unternehmen natürlich nicht ganz unproblematisch. Die große Neuerung in Stash 2 ist die Möglichkeit, Branch-Berechtigungen zu vergeben und Kontrollmechanismen zu etablieren. Schreibrechte für einzelne User oder Gruppen stellen sicher, dass stabile Branches stabil bleiben, und Development-Branches fördern die Zusammenarbeit.

Workflows durchsetzen
Einige Entwicklungs-Workflows erfordern es, dass spezifische Entwickler den Überblick über Merges in Master- oder Release-Branches haben, während andere Programmierer an Bugfixes und Feature-Branches arbeiten. Die Branch-Permissions sorgen hier für einen nahtlosen und durchsetzbaren Prozess, der Verwirrung und Unsicherheiten reduziert und vor dem zeitraubenden Zurückbauen von Änderungen bewahrt, die zu früh gemergt wurden:

  • Regeln und Regulierungen: Unternehmen, die strengen Regulierungen unterliegen (zum Beispiel in der Finanz- oder Gesundheitsbranche) können sicherstellen, dass die Versionskontrolle alle Compliance-Vorgaben erfüllt.
  • Dienstleister: Für integrierte externe Entwickler kann der Zugriff auf bestimmte Branches beschränkt werden. Zum einen lassen sich ihre Commits dann vor der Integration problemlos reviewen, zum anderen bleiben ihnen Blicke auf Branches, die sie nicht sehen sollen, auch wirklich vorenthalten.
  • "Heilige" Branches: Neuen und Junior-Team-Mitgliedern kann Zugriff auf Release- und Deploy-Branches gegeben werden, sobald sie auf dem neuesten Stand sind.

Unternehmen, die auf Git umstellen, dienen die Branch-Permissions zudem als eine Art Geländer während des Übergangs: Bei Neulingen, die die Komplexität von Git gerade kennenlernen, helfen Branch-Berechtigungen, "Oh-verdammt-Momente" durch versehentliche Pushes zu vermeiden.

Pull-Requests fördern
Die Branch-Berechtigungen ermöglichen es, eine Art Torwächter zu etablieren: Ein erfahrene Entwickler kann dafür zuständig sein zu überwachen, dass der gesamte Code, der in die Produktion geht, ordentlich getestet und reviewt worden ist.

So ist es möglich, bei kritischen Branches den Zugriff auf diesen Torwächter zu beschränken, alle anderen Entwickler nutzen Pull-Requests, um ihn von neuen Änderungen zu informieren. Es gibt also die Möglichkeit einer zentralen Verantwortlichkeit für das Reviewing von Code und damit gute Voraussetzungen für stabile Branches.

Pattern-Matching nutzen
Die Branch-Permissions erlauben es darüber hinaus, ein Pattern zu spezifizieren, dass gegen Branches und Tags gematcht ist. Damit ist es möglich, Pushes zu mehreren Branches zu beschränken, ohne sie individuelle konfigurieren zu müssen.

Die Etablierung von Naming-Konventionen, die auf Rollen oder funktionalen Ebenen basieren, macht es dabei besonders einfach, Berechtigungen unternehmensweit zu setzen und zu standardisieren.

Code-Diskussionen in Kontext setzen

Pull-Requests sind das soziale Schlüssel-Feature von Stash, das Entwicklern dabei hilft, Code zu teilen und zu kommunizieren. Mit der Integration dieser leichtgewichtigen Peer-Reviews in den Entwicklungsprozess werden Kommentare zu einem zentralen Mechanismus, um Diskussionen voranzutreiben und Änderungen anzuregen. Zwei neue Features von Stash 2.0 bringen die Zusammenarbeit am Code auf eine neue Ebene.

Teilnehmer mit @-Mentions zur Diskussion einladen
Pull-Requests und Kommentare führen wirkliche Code-Diskussionen in Stash ein. Und mit den neuen @-Mentions lassen sich nun Teammitglieder besonders einfach in Diskussionen involvieren. Nutzen müssen nur das @-Zeichen gefolgt vom Namen des gewünschten Users in einen Kommentar tippen, der so erwähnte Teilnehmer erhält automatisch eine Nachricht, dass er in einer Pull-Request-Konversation erwähnt wurde.

Eindeutige Kommentare dank Markdown
Kontext herzustellen und wichtige Punkte zu betonen, ist wichtig, wenn eine schriftliche Diskussion um den Code herum geführt wird. Stash unterstützt das nun auch formal und bietet Markdown-Funktionen für Kommentare an:

  • Formatierungsmöglichkeiten wie Fett- und Kursivschrift, Unterstreichungen und Listen
  • Die Möglichkeit, Links zum Beispiel auf Anforderungen und Tickets zu dem Feature, das gerade implementiert wird, zu integrieren
  • Einbindung von Code-Beispielen, die genau wie in der IDE formatiert sind
  • Integration von Screenshots

Auch in E-Mail-Benachrichtigungen, die die Beteiligten erhalten, wenn ein Kommentar eingestellt wurde, wird das Markdown akkurat gerendert.

Stash testen und lizenzieren? Wir sind Ihr Partner!

Interessieren Sie sich für Stash und/oder andere Entwickler-Tools von Atlassian? Möchten Sie mehr erfahren? Wir sind offizieller Vertriebspartner von Atlassian und Atlassian Platinum Expert und unterstützen Sie gerne bei der Evaluierung und Lizenzierung. Und wenn Sie Atlassian-Lizenzen bei //SEIBERT/MEDIA kaufen, gewähren wir Ihnen einen Rabatt in Höhe von 10% der Lizenzkosten in Form von Beratungsleistungen. Bitte sprechen Sie uns einfach an.

Weiterführende Informationen

Stash Enterprise: Git-Repository-Management in großen Unternehmen
JIRA, Bamboo und FishEye in der Eclipse-IDE
//SEIBERT/MEDIA ist Atlassian Platinum Expert
So funktioniert die Lizenzierung von Atlassian-Produkten