I ♥ Versionskontrolle

Ähmja, ich hab zur Zeit schwere See voraus. Es kommt was Großes auf mich zu, expliziter will ich grad gar nicht werden – und gestern nacht war ich so hibblig, daß ich mitten in der Nacht noch meine allerersten git-Befehle gelernt habe. Hilfreich dazu: das gittutorial von kernel.org. Es erscheint mir ein wenig überkandidelt, das nur lokal für meine kleinen Projektchen zu verwenden, mein Fernziel ist schon, damit auch Projekte zu verwalten, die irgendwo auf Servern rumliegen.

Und damit dieser Artikel einen Sinn hat, außer Euch meine Hibbligkeit mitzuteilen (und daß ryuu mal wieder ein neues Spielzeug hat), hier eine Frage: Wenn ich öffentliche Repositories von den Themes erstelle, die ich gebastelt habe – würde das irgendwen interessieren? Oder ist das dann nur zu meinem Privatvergnügen? (Wie ich mit dem Thema Typograhie und eingebettete Schriftarten umgehe, muß ich dann noch mal sehen. Die meisten WP-Themes, die es so zum Runterladen gibt, scheinen sich ja auf Standardschriftarten zu verlassen, und das Kleingedruckte der jeweiligen Fonts müßte ich dann auch nochmal sehr genau anschauen.)

4 Kommentare

  1. Geschrieben am 30. Januar 2011 um 21:57 | Permalink

    Überkandidelt finde ich es gar nicht mal, dadurch dass git sehr schlank ist, kann man damit wunderbar alles versionieren, was sonst nicht ging.

    Bei Photoshop und Co. fand ich die Versionierung von Bildbearbeitungen schon sehr gut. Jetzt kann ich es auf alles ausdehnen. Und der Vorteil: inkrementell zurückgehen oder verschiedene Richtungen ausprobieren ohne zig Datei-Kopien anlegen zu müssen, sondern einfach git die Arbeit machen lassen. Und in Verbindung mit cronjobs kann man sich damit also auch zeitlich automatisierte Commits schaffen, womit auch eine Art Backup-Lösung möglich ist.

    Wie du ja durch die Recherche für den nachfolgenden Artikel gesehen hast, setzen auch andere gern auf git als Backup- und Sync-System.

    (Warum eigentlich git? Ich glaub mal, dass es zudem einen sehr winzigen Speicher-Footprint hat. Subversion (svn) gibt es ja nur als Client/Server-Paket und damit immer dauerhafte RAM-Nutzung auch ohne Nutzlast.)

  2. ryuu
    Geschrieben am 30. Januar 2011 um 22:17 | Permalink

    Mhm, ja, ich fange schon an, einen Nutzen darin zu sehen, obwohl ich es gerade noch nur lokal verwende (am Thema Datenaustausch im lokalen Netzwerk mit SSH beiß ich mir gerade ein wenig die Zähne aus – da komme ich nur nach der Devise „ein Schritt nach dem anderen“ weiter). Einfach mal zwischen zwei verschiedenen Entwicklungsständen vergleichen können ist schon genial. Mein Beweggrund für git war einfach, daß es, soweit ich das sehen kann, das state of the art-VCS ist, wenn $mensch auf Linux arbeitet. Die einzige nennenswerte Konkurrenz, die ich da sehe, ist bazaar, das im Ubuntu-Umfeld viel genutzt wird. Und der distributed-Ansatz ist mir sympathisch.

  3. Geschrieben am 30. Januar 2011 um 22:29 | Permalink

    Naja, mercurial (hg) scheint auch so seine Gemeinde zu haben, gehört natürlich ebenfalls zu den distributed VCS. In vielen Punkten unterscheiden sich die drei auch gar nicht so sehr, es gibt wohl nur einige, wenige Bereiche, wo jedes dieser VCS einen anderen Ansatz verfolgt.

    Klar, git hat –wohl auch aufgrund der Nutzung bei den kernelisten– eine starke Favoritenrolle, aber ich mag das VCS auch mehr und mehr. Habe gestern erst gesehen, dass es sogar möglich ist, sich innerhalb von git noch aliase zu definieren (also „git „), auch so ein Feature, was ich in Zukunft stärker nutzen werde, denke ich mal.

    git ist auch nicht immer in allem besser, jemand hatte mal den Plattenplatzverbrauch gemessen und festgestellt, das git viel verbraucht, wenn man nicht regelmäßig manuell „repackt“, was mercurial(?) wohl automatisch macht. Aber das sind nur kleine Haken und Angeln, und auf den heutigen Festplatten auch nur ein marginaler Faktor.

  4. tigr
    Geschrieben am 31. Januar 2011 um 23:06 | Permalink

    Von SSH verwende ich eigentlich nur die Basisfunktionen (sich aus der Ferne auf anderen Rechnern einzuloggen, inklusive Übertragung der Fenster von X-Anwendungen; und selten mal als Tunnel: ssh -L localport:host:hostport), und ganz oft zum Dateienübertragen:

    Für einzelne, wenige Dateien ist das Standardprogramm scp ausreichend (versteht sogar remote wildcards! also z.B. scp user@host:remoteverzeichnis/*.pdf .), aber wenn Du viel hin und her schieben willst und beide Rechner länger an sind, guck Dir doch mal sshfs an! eventuell mußt Du dafür noch die FUSE/usermount Programme installieren, aber dann kannst Du eine Ordnerstruktur auf einem anderen Rechner lokal einbinden, die gewohnten Programme wie cp & Co. verwenden, und auch mit allen Programmen transparent darauf zugreifen. Echt praktisch! Muß mir unbedingt mal die Windowsvariante installieren… das vermiß ich von Linux am meisten 🙂