Skip to content

Lokale GIT Repositories mit einer USB Festplatte synchronisieren

Auf meinem Laptop habe ich einige Git Repositories, die den Fortschritt meiner Arbeiten speichern. Viele davon sind mit "Remote Repositories" synchronisiert. Ein Beispiel sind z.B. meine S9Y Entwicklungen, für die ich einen lokalen Checkout von GitHub Repositories habe, die ich lokal bearbeite und bei Fertigstellung meiner Änderungen wieder auf GitHub zurück pushe.

Für eigene Projekte könnte man sich auch ein GitHub Repository anlegen, aber wenn die Arbeiten nicht für die Allgemeinheit bestimmt sind, dann gibt es einen einfacheren Weg: Ich habe eine große USB Festplatte, die an der Dockingstation meines Laptops hängt. Immer wenn ich den Laptop nach hause bringe, hat dieser dann die Möglichkeit, Backups von Änderungen, die ich "unterwegs" gemacht habe, auf diese Platte zu speichern. Ähnliches wünsche ich mir für meine lokalen Git Repositories. Wie das geht, ist hier beschrieben, die Beschreibung dort funktionierte für mich allerdings nicht 100%ig, deshalb will ich hier den Weg beschreiben, der für mich funktioniert hat.

Bei dieser Beschreibung wird davon ausgegangen, dass das Arbeitsverzeichnis das lokale Repository ist (und zwar das Hauptverzeichnis, nicht das .git Unterverzeichnis, falls vorhanden). Es liegt in /path/to/local/repository. Für dieses bereits vorhandene Repository soll ein "Remote Repository" auf der USB Platte erzeugt werden, dass unter /path/to/usb/repository zu erreichen sein soll, wenn die Platte eingehängt ist.

Das Remote Repository wird als Clone des lokalen Repositories erzeugt:

cd /path/to/local/repository
mkdir /path/to/usb/repository.git
git clone --no-hardlinks --local --bare . /path/to/usb/repository.git

Jetzt wird das USB Repository als "Remote Repository" für das lokale Repository festgelegt und der lokale Branch master wird als Tracking Branch des USB master Branches konfiguriert (damit push und pull wie gewohnt funktionieren):

git remote add usb file:///path/to/usb/repository.git
git checkout master
git push --set-upstream usb master

Nun sollten die beiden Repositories / Branches so verknüpft sein, wie man es auch von Remote Repositories auf GitHub gewohnt ist. Im lokalen Repository sollten die beiden Befehle

git pull
git push

die Änderungen im lokalen Repository mit dem USB Repository synchen. Somit kann man "unterwegs" weiter an seinem Repository arbeiten und zu hause dann Sicherungen davon sehr einfach auf die USB Platte speichern.

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Dieses Blog erlaubt Dir, Audio Kommentare über audioboo.fm hinzuzufügen. Erstelle einen neuen Boo und gib hier den Link auf die Seite Deines Boos ein.
record
Wenn Du Deinen Twitter Namen eingibst wird Deine Timeline in Deinem Kommentar verlinkt.
Bewirb einen Deiner letzten Artikel
Dieses Blog erlaubt Dir mit Deinem Kommentar einen Deiner letzten Artikel zu bewerben. Bitte gib Deine Blog URL als Homepage ein, dann wird eine Auswahl erscheinen, in der Du einen Artikel auswählen kannst. (Javascript erforderlich)
(Bedingung: 1 Kommentare geschrieben)
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
tweetbackcheck