Seite wählen

NETWAYS goes GIT

von | Dez 15, 2009 | Development

71px-Git-logo.svgDie Zeit ändert sich – und damit auch die Theorien und Techniken der Versionsverwaltung. Dabei halten wir uns strikt an den historischen Verlauf: CVS, SVN und GIT. Man möge meinen, NETWAYS macht jeden Blödsinn mit. Jedoch bietet GIT zahlreiche Vorteile gegenüber SVN, genauso wie SVN gegenüber CVS diverse überzeugende Argumente liefern konnte.
Einer der genannten Vorteile ist die dezentrale Architektur. Es bedarf keinem zentralen Repository mehr, welches alle Änderungen zusammenfasst. Natürlich sollte es einen gemeinsamen Speicherort geben, aber der neuartige, durch GIT bereitgestellte Ansatz bedeutet mehr Unabhängigkeit für die Entwickler. Sie können ihre Änderungen lokal vollziehen, ‘mergen’ und ‘branchen’. Wann Änderungen publiziert werden, ist nicht mehr ganz so wichtig. Je länger nur damit gewartet desto mehr Fehler müssen beseitigt werden und desto mehr Code muss angepasst werden – erst nachdem die Integrität zum Repository gewährleistet wurde, können die Entwickler ihren Code ins GIT ‘pushen’.
Weiterhin ist das Arbeiten mit Wegwerf-Branches (oder Themen-Branches) ein weiterer Pluspunkt. Für ein Problem wird extra ein neuer Branch erstellt welcher den Hauptzweig nicht verletzt. Nach fertiger Arbeit werden die Änderungen in den Masterbranch übernommen und der Themenbranch wird gelöscht. Auch hier ist der Entwickler wieder dafür verantwortlich, den Code zu bereinigen, damit die Vereinigung mit dem Hauptzweig gelingt.
Natürlich gibt es auch Nachteile. Auf eine eigene Authentifizierung wurde gänzlich verzichtet. Der Zugriff muss also mit einer weiteren Schicht übernommen werden: SSH oder WebDav. Bei WebDav ist allerdings der Geschwindigkeitsvorteil dahin. Um ein öffentliches Repository zu betreiben gibt es außerdem noch third-party Script-Sammlungen wie z.B. “gitosis”, welches an Hand von checkin- oder checkouthooks Zugriffe über SSH-Schlüssel steuert.
Neulinge müssen sich leider durch den Wald der Kommandos und Möglichkeiten schlagen, da alte Techniken von SVN, wie z.B. Export, branching oder tagging, komplett überarbeitet oder entfernt wurden.
Nach erfolgreichem Einarbeiten in GIT, erhält man Zugriff auf eine (sehr) schnelle und robuste Lösung um den Code vieler Entwickler unter einen Hut zu bekommen und bewahrt im gleichen Zug das Repository vor dilettantischen Fehlern.
In diesem Sinne wünsche ich noch ein schönes Restjahr …

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

4 Kommentare

  1. Marius Hein

    andy: “Bei WebDav ist allerdings der Geschwindigkeitsvorteil dahin” ?Bei SVN ist man doch per WebDav ist man doch sehr viel schneller unterwegs als per svn+ssh? Zumindest nachdem was wir beobachtet haben?

    Wir hatten sehr lange Wartezeiten bei Projekten ab 20MB, jeweils WebDav mit SVN oder GIT. War bei uns genau anders herum 😉

    Antworten
  2. andy

    „Bei WebDav ist allerdings der Geschwindigkeitsvorteil dahin“ ?
    Bei SVN ist man doch per WebDav ist man doch sehr viel schneller unterwegs als per svn+ssh? Zumindest nachdem was wir beobachtet haben?

    Antworten
  3. Tom Schimana

    Wie sieht es derzeit eigentlich mit Tools, Client und der allgemeinen Unterstützung bei GIT aus? Bei Systemen, wie MAC OS, sind ja gute SVN-Clients schon teilweise ein Problem oder auch die Integration in unterschiedlichen Entwicklungsumgebungen. Wie sieht es hier bei GIT aus? Oder arbeitet ihr komplett in der Konsole?

    Antworten
  4. Christian Döbler

    Hallo Tom,

    Tom Schimana:
    Wie sieht es derzeit eigentlich mit Tools, Client und der allgemeinen Unterstützung bei GIT aus? Bei Systemen, wie MAC OS, sind ja gute SVN-Clients schon teilweise ein Problem oder auch die Integration in unterschiedlichen Entwicklungsumgebungen. Wie sieht es hier bei GIT aus? Oder arbeitet ihr komplett in der Konsole?

    Wir verwenden hauptsächlich Linux und MacOS. Für beide gibt es commandline tools, welche auch bestens ihren Dienst leisten. Da es beipielsweise für Eclipse noch keine wirklich zuverlässig arbeitende Lösung gibt, verwenden wir ausschließlich die Kommandozeile. Allerdings ist die command line auch die mächtigste Lösung für GIT. Insofern stört das nicht weiter.
    Grüße
    Christian

    Antworten

Trackbacks/Pingbacks

  1. Weekly Snap: GIT, Glühwein and Neckermann with Nagios - Dec 14-18, Christmas, NETWAYS, Nagios, Carrying, Nuremberg, Day”, Manuela - NETWAYS Blog - [...] the development team, Marius announced NETWAYS move to GIT for versioning offering a few convincing arguments to support.  The…

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema Development

Mein PHP-Trainingsprojekt

PHP Schulung Vor kurzem haben wir begonnen, eine neue Programmiersprache zu lernen – PHP. In der ersten Woche haben wir mit den Grundlagen wie Variablen, Arrays, Schleifen begonnen und uns schrittweise zu komplizierterer Syntax wie Funktionen, Objekten und Klassen...

check_prometheus ist jetzt öffentlich verfügbar!

Monitoring ist komplex, das wissen wir hier bei NETWAYS leider zu gut. Deswegen laufen in der Infrastruktur auch mal gerne mehrere Tools für die Überwachung. Zwei gern gesehene Kandidaten sind dabei Icinga und Prometheus. Icinga und Prometheus erfüllen...