Check out the Latest Articles:
Alles unter Kontrolle?

Es gibt viele Dinge, die beim Entwickeln und Betreiben einer Webseite wichtig sind, aber für am unverzichtbarsten halte ich persönlich eine Versionsverwaltung. Wenn Sie eine Webseite betreiben, die für Sie wichtig ist, und sie nicht versioniert ist, machen Sie etwas falsch. Und zwar ganz schön!

Was ist Versionsverwaltung? Ein Versionsverwaltungs- oder auch Versionskontroll-System ist ein System zur Nachverfolgung und Archivierung von Änderungen an Texten, vor allem Programmquelltext. Ich sage meinem VCS (Version Control System), welche Dateien zu meinem Projekt gehören, und es kümmert sich darum, dass ich nie wieder etwas verliere.

Nie wieder?

Nie wieder. Denn ein VCS ist wie eine immerwährende, projektweite Undo-Funktion: Mit einem Klick oder Tastendruck kann ich beliebig weit in die Vergangenheit springen und den Quelltext in seiner früheren Form betrachten oder in die Gegenwart bringen. Was habe ich vorgestern abend gelöscht? Was hat der Kollege letzte Woche verändert?

Auch wenn für einen einzelnen Entwickler Versionierung schon hilfreich ist, ist sie noch viel mächtiger im Team. Jeder Entwickler arbeitet an seinem Rechner und schiebt Änderungen auf den Server des VCS wenn er fertig ist. Die anderen kriegen die Änderungen erst mit, wenn sie sie explizit danach fragen; zu keinem Zeitpunkt vermischt sich unfertiger Code aus Versehen mit fertigem Code. Und damit erledigt sich einfach so eines der schwierigsten Probleme bei der Zusammenarbeit in der Gruppe.

Eine Versionsverwaltung ist auch das ideale Backup. Wenn alles, was zu einer Anwendung oder Webseite gehört, in der Versionsverwaltung ist (und so sollte es sein!), dann reicht ein Backup von einer Maschine, nämlich dem VCS-Server, um den Code zuverlässig zu retten, sollte etwas passieren. Das Buch Ship It! von Richardson und Gwaltney drückt es wunderbar klar aus:

Be sure you have everything you need to build, deploy, and run your product in your source code management system. If you don’t, you are putting the long-term viability of your development project at risk in order to save disk space.

Sounds kind of silly when you phrase it that way, doesn’t it?

Empfehlungen

Wenn breakthesystem anrückt, kümmern wir uns um alles, inklusive Hosting und Aufbau einer Versionsverwaltung.

Bis dahin empfehlen wir das kostenlose Subversion, weil es das am besten dokumentierte VCS ist, und das mit der besten Unterstützung in Editoren, IDEs, usw. Für Windows-User ganz besonders interessant ist der sehr gute Client Tortoise SVN, und für Mac OS gibt es Versions. Oh, und als Host empfehlen wir Beanstalk.

Mein ganz persönlicher Favorit unter den Versionssystemen ist Mercurial. Mercurial ist mächtiger als Subversion, denn es ist eine verteiltes Versionsverwaltung, ein distributed VCS. Damit ist es möglich, Änderungen am Programmcode noch feiner abzuspeichern, denn es separiert den Arbeitsschritt “Änderung benennen und auf dem Server speichern” in die zwei Schritte “Änderung benennen und speichern” und “letzte Änderungen auf den Server hochladen.” Als Server empfehle ich dazu bitbucket.org, auf dem auch unsere kleineren Spaßprojekte wie Die Stimme Gottes oder The_Zombie gehostet sind. Mercurial ist unglaublich mächtig, aber nur für Kommandozeilen-Cowboys empfehlenswert. Klickibunti gibt dafür nämlich noch nichts wirklich brauchbares.

Und Ihre Meinung dazu?

Welches VCS benutzen unsere Leser? Sind Sie zufrieden damit? Oh, und noch etwas: Wie fanden Sie diesen Artikel? War der Informationsgehalt ausreichend?

Post to Twitter Auf Twitter posten Post to Reddit Reddit



  1. It‘s quiet in here! Why not leave a response?