git

git gehört zu den Werkzeugen, die aus meinem Entwickleralltag nicht mehr wegzudenken sind. Man kann mit git die unglaublichsten Dinge machen – allerdings ist das dann mitunter nicht mehr ganz einfach.

Artikel über brauchbare Kniffe, praktische Tricks oder die Lösung besonderer Probleme möchte ich hier sammeln.

Zwei git-Repositories zusammenführen

Aus zwei mach wieder eins (mit zwei Branches)

Ich hatte unlängst das Problem, zwei separate git-Repositories zu einem zusammenzuführen. git hat per se kein Problem damit, in unterschiedlichen Branches vollkommen unterschiedlichen Inhalt zu verwalten (ein Beispiel, wo das häufig genutzt wird, ist der gh-pages-Branch bei github), aber ich wollte etwas anderes: Beide Repositories hatten eine gemeinsame Codebasis, und ich wollte nun ein Repository, das an der spätestmöglichen Stelle einen Branch mit den Änderungen des anderen Repositories abzweigt.

git und https scheint sich hier zur „neverending story“ zu mausern :-) Trotzdem muß ich zu diesem Thema nochmals dringend etwas loswerden. Situation: Server ist eingerichtet, benutzt aber entweder ein selbstsigniertes Zertifikat oder von einer CA, die nicht „allgemein verbreitet“ ist (Firmen-CA, CAcert, etc.). Folge: Git meldet

Ich habe ein paar meiner Projekte auf github gelegt; allerdings hätte ich doch gerne die Daten der Repositories auf meinem Server - da bin ich irgendwie eigen :-) Die Sache sieht so aus, daß ich in einem Verzeichnis eine Reihe .git-Verzeichnisse (also bare Repositories) liegen habe; einige davon sind die Mirrors von github, andere sind eigenständige Repositories. Die Mirrors wollte ich per Cronjob täglich aktualisieren. Wie's geht, habe ich hier kurz zusammengeschrieben:

Für ein neues (geschäftliches) Projekt fiel die Wahl für das Versionskontrollsystem auf git. Unglücklicherweise sind die einzigen Protokolle, was sämtliche Firmenfirewalls (halbwegs) unbeschadet passieren, http und https. Als weitere Sicherungsmaßnahme soll die Authentisierung über Client-Zertifiakte erfolgen.