www   Source Code verwalten

Eine Versionsverwaltung (VCS) ist für meine Anwendungen eigentlich etwas überzogen, da ich ja alleine vor mich hinentwickle. Es gibt immer nur eine Version, aber wenn man schon mal dabei ist ...

Git, Linus Torvalds und Hans-Jürgen Koch

Git [ɡɪt] ist eine freie Software zur verteilten Versionsverwaltung von Dateien, die durch Linus Torvalds initiiert wurde.

Wann immer Linus Torvalds erwähnt wird, wandern meine Gedanken zur Beerdigung von Hans-Jürgen Koch. Hans-Jürgen war ein Klassenkamerad aus der Zeit am Bodensee und einer der Jugendlichen aus der Nachbarschaft. Wir sind einige Zeit miteinander und nebeneinander durch die Pubertät und die Zeit vor dem Abitur gegangen. Nicht immer auf derselben Linie - Jugendliche können sehr differenzierte Unterscheidungen bei Kleinigkeiten machen - aber in dem Alter ist man nicht so ganz ernst zu nehmen. Wir sind uns nach dem Abitur nur selten begegnet. Hans-Jürgen war ein sehr aktives Mitglied der LINUX Community, hat Code für den Kernel beigesteuert und war wiederholt Redner auf den LINUX-Tagen Im Netz (YouTube) finden sich noch ein paar Vidoe von diesen Vorträgen. Er hatte seine Probleme und ist mit Anfang 50 einsam und krank gestorben. Seine Beisetzung fand am Bodensee in einem Waldfriedhof statt, Axel und ich sind gemeinsam dort gewesen. Auf der Trauerkarte stand ein Linus Torvalds Zitat - "For some problems, there is no technical solution at all" . Dieses Zitat ist tiefschürfender als es auf den ersten Blick den Anschein hat.

Git - die Versionsverwaltung

In der LINUX Community, mit den zahlreichen freiwillig beitragenden Entwicklern, wie Hans-Jürgen einer war, ist, eine verteilte Versionsveraltung unumgänglich. Die klassischen Operationen bei der Sourcecodeverwaltung sind das Auschecken (Sperren zur Bearbeitung), die Aktualisierung (Commit) oder die Integration (Merge) von eigenem und fremdem Code.

Git selbst beruht auf wenigen Kernfunktionen, die die Codeverwaltung einfach und überschaubar halten:

Gegenüber klassischen Codeverwaltungssystemen neu sind Möglichkeiten, den eigenen Quellcode auf andere Projekte zu beziehen (‚Fetch‘/‚Pull‘) und die Änderungen an einem Projekt anderen zur Verfügung zu stellen (‚Push‘).

Die IntelliJ IDE hat ein eigenes VCS, bietet aber auch die Option lokal Git Repositories anzulegen.

Git Hub

War GitHub ist ursprünglich als Webversion der von Linus Torvalds entwickelten Codeverwaltung eingeführt worden. Man hat das Repository nicht mehr auf der eigenen Platte, sondern als "Cloud" oder "Web" Service im Netz. Im Prinzip auch eine simple Möglichkeit eines externen BackUps.

Das ist GitHub auch nach wie vor - und so nutze ich es. Ich habe einen GitHub Account angelegt, aus der die intelliJ IDE heraus meine Projekte auf GITHub abgelegt.

www

Auf der GitHb Seite sieht das also so aus:

www

Der erste Case für mich war es, das Projekt "URLDownloder" von meinem "alten" MacBook auf das neue zu bringen. Das Handling ist extrem niederschwellig - einer der Gründe für den Erfolg der Plattform.

Social Coding

GitHub ist zu der Plattform für die öffentliche Verteilung und den Austausch von Software geworden. Man kann seine Repositories als "public" einstufen, und dann kann jeder GitHub Nutzer den Code nutzen.

Dem Zeitgeist (genauer den Erfolgsrezepten der Aufmerksamkeitsökonomie) folgend, steigert GitHub über Einstiege wie „Trending Repositories“ die "Awareness" von Entwicklungen, und Entwickler und Entwicklerinnen bzw. deren Repositorien erhalten über "Stars" ein besseres Ranking.

Dieses "Social Coding" kann man belächeln oder kopfschüttelnd zur Kenntnis nehmen, aber digitale, öffentliche Anerkennungsysteme funktionieren im 21. Jahrhundert offensichtlich. Anerkennung ist im menschlichen Miteinander ziemlich wichtig. Vielleicht ist es das, was ich als Erwachsener gegenüber Hans-Jürgen gerne noch zum Ausdruck gebracht hätte - Anerkennung.