Es gibt eine neue Version (0.7) meines Zitierplugins für Wordpress. Die fünf kleinen Änderungen am Plugin selbst sind wahrscheinlich weniger interessant als die neue Heimat des Plugins auf Github. Dort werde ich einerseits endlich ein zentrales Endlager für all meine WP-Plugins und laufende projekte haben –kleine Codeschnipsel landen weiterhin im Wiki. Aber vor allem macht es Github einfacher, an meinen Projekten mitzubasteln. In der letzten Ausgabe der Links habe ich ja bereits auf dieses Video über Git und Github verwiesen. Wer das Video nicht gesehen hat oder Git nicht kennt, fragt sich jetzt vielleicht, wie genau das funktioniert und wozu das gut sein soll.
Github ist sowas wie StudiVZ für Programmierer, bei dem man statt peinlicher Fotos Sourcecode ins Netz stellt und nicht gruschelt, sondern sich gegenseitig die Projekte forkt. Rückgrat von Github ist das Versionsverwaltungssystem Git. Git wurde vom Linux-Schöpfer Linus Torvalds in die Welt gesetzt, der konsquenterweise die Nutzer von anderen solchen Systemen pauschal für stupid and ugly
erklärt. Das ändert freilich nichts an der Tatsache, dass Git ein recht komplexes Tool ist – und hier greift Github mit seiner schicken Weboberfläche helfend ein … aber zuerst noch ein paar Git-Basics.
Git funktioniert in etwa so: Es gibt ein Projekt X, an dessen Dateien mehrere Personen arbeiten wollen. Git stellt die Technik zu Verfügung, mit der alle Beteiligten untereinander die Dateien synchronisieren und eventuell auftauchende Konflike (Personen A und B verändern zeitgleich die gleiche Datei) beseitigen können. Wenn eine neue Person in die Entwicklung einsteigen möchte, muss sich diese nur am Code eines der anderen Beteiligten bedienen. Weil es keinen zentralen Server gibt, haben alle Beteiligten quasi wie ihre eigenen kleinen Spezialversionen des Projekts – das lässt Chaos vermuten, aber wenn sich die Beiteiligten darauf einigen können, welche Teile der Entwicklung am Ende zusammen das Ganze ergeben, wen interessiert, wie viele Sub-Versionen es gibt? Bei Bedarf synchronisiert man sich eben wieder. Auch als Solokünstler kann man Git gebrauchen, denn so hat man stets alle Änderungen an seinem Projekt versioniert und kann auch bequem mehrere Entwicklungszweige gleichzeitig pflegen und bei Bedarf zusammenführen.
Github macht diesen ganzen nerdigen Krempel (von dem man natürlich nicht alle Funktionen zu nutzen braucht) bunt und webzwonullig. Wer sich bei Github einen Account zulegt und glaubt, etwas an einem Projekt verbessern zu können (oder einfach ein wenig daran herumspielen will), surft die Projektseite an und klickt auf den Fork-Button. Github legt einem dann ein neues Projekt an, kopiert die Daten aus dem Quellprojekt da hinein und zack – schon hat man seine eigene Subversion des Zitier-Plugins. Diese kann man sich dann via Git auf den heimischen Rechner holen und daran herumbasteln. Wenn man meint, etwas Gutes erreicht zu haben, schiebt man (wieder via Git) die neue Version zurück in seinen Github-Account.
Richtig interessant wird es, wenn man die Eigenentwicklungen in das Urspungsprojekt einfließen lassen möchte. In dem Fall kann man in Github eine entsprechende Anfrage an den Entwickler absetzen, der sich die Änderungen ansehen und sie in das Projekt holen kann. Und wenn das alles für Projekte wie Ruby on Rails, das Blueprint-Framework und Mootools zu funktionieren scheint, muss was dran sein. Also ergeht hiermit die Aufforderung an alle Nerds: Forkt mich!
Infos für den Einsteig bietet
- das offizielle Git-Tutorial,
- das Git-Einsteigertutorial von Sitepoint (das auch das git-GUI behandelt),
- das bereits erwähnte Video,
- und das kostenlose Buch Pro Git für alle, die es ganz genau wissen wollen.
P.S.: Github kann man statt für Open-Source-Kollektivismus auch für hochkommerzielle Geheimprojekte einsetzen, die nicht öffentlich zugänglich sind. Das kostet zwar, aber nicht viel.
Kommentare (7)
Fabian ¶
5. Oktober 2009, 10:02 Uhr
Hallo,
von Github hatte ich bisher noch nichts gehört. Die Idee kommt mir aber bekannt vor. Ist Google Code nicht letztlich vergleichbar? Da ich mich bei beiden nicht auskenne, kann ich es jetzt nicht genau sagen.
Gruß
Benny ¶
5. Oktober 2009, 11:02 Uhr
Zitat Fabian:
Bei Google Code fehlt der "soziale" Aspekt. Du kannst bei Google Code nicht so einfach ein Projekt "forken". Von der Idee her war Google Code mal gut, jetzt aber macht GitHub einfach alles besser :) (Siehe die beiden letzten Absätze des Blog-Posts).
Sehr zu empfehlen ist in diesem Zusammenhang übrigens auch CRE 130: http://blog.chaosradio.ccc.de/index.php/2009/08/02/cre130-verteilte-versionskontrollsysteme/
Benjamin ¶
5. Oktober 2009, 12:37 Uhr
Weiterführende Infos zu Git gibts in einem relativ aktuellen Beitrag des Podcasts Chaosradio Express, genauer Episode 130. Dort werden Vorteile von verteilten Versionskontrollsystemen im Allgemeinen und Git im Speziellen diskutiert . Auch da wird kurz auf Github angesprochen.
cmi ¶
5. Oktober 2009, 14:07 Uhr
da git (meines wissens nach immer noch) elitär genug ist, um nicht (vernünftig) unter windows zu laufen bzw. laufen zu wollen: mercurial 4tw ;)
Schepp ¶
5. Oktober 2009, 21:06 Uhr
cmi hat recht, es ist "pain in the ass" als Windows-User (und zusätzlich Git-Einsteiger) mit der Git-Bash oder der Git-GUI zu arbeiten. Es ist unzureichend dokumentiert, unintuitiv und krude. Dazu kommt noch ein Prise Linux-Würze dazu.
Nachdem ich schon vorläufig kapitulieren wollte, fand ich einen TortoiseSVN-Port für Git namens TortoiseGit. Mit dem geht man deutlich flotter zu Werke.
Robert Agthe ¶
7. Oktober 2009, 12:55 Uhr
Hab leider nix was ich öffentlich zeigen wollen würde. Geheim = Geld = Fail.
adrian_broher ¶
7. Oktober 2009, 13:09 Uhr
Zitat cmi:
Stuetzraederchen gefaellig?