Oto prosty sposób na przeniesienie repozytorium GIT na pendrive, czy inną przenośna pamięć.
- Dla uproszczenia dodamy sobie nasze wymienne repozytorium do pliku /etc/fstab w tym celu:
ls -l /dev/disk/by-uuid # odnajdujemy na liście nasz urządzenie, w moim przypadku sdb1 mkdir /mnt/git-gsoc # tworzymy odpowiedni katalog do montowania chown lock:lock /mnt/git-gsoc # zmieniamy właściciela
przy użyciu ulubionego edytora edytujemy /etc/fstab. Dodajemy następującą linie:
UUID=<uuid z pierszego polecenia> /mnt/git-gsoc <system plików> user,rw,noauto 0 0
- Teraz przydało by się zawartość naszego obecnego repo przenieść do nowego … wystarczy skopiować główny katalog repozytorium 😉 (prostota git’a)
Mając już sklonowane repozytorium przydał by się jeszcze jakiś skrypt który za nas wykona zbędne rzeczy (tj. podmontuje pamięć, odpali git-deamon, a potem po sobie posprząta ;)).
#! /usr/bin/bash # Copyrighted, 2009 # Developed by Dariusz Luksza <dariusz[at]luksza[dot]org> # License: GPL v2 case "$1" in connect) echo -n Montuje urzadzenie ... mount /mnt/git-gsoc &> /dev/null if [ "$?" -eq "0" ] then echo " DONE." echo -n Startuje git gaemona ... git daemon --export-all --base-path=/mnt/git-gsoc/backup --detach \ --pid-file=/mnt/git-gsoc/git-daemon.pid --enable=receive-pack --listen=localhost echo " DONE." exit 0 else echo Wystapil blad podczas montowania, sprawdz urzadzenie! exit 1 fi ;; disconnect) if [ -e /mnt/git-gsoc/git-daemon.pid ] then echo -n Zatrzymuje git daemona ... kill `cat /mnt/git-gsoc/git-daemon.pid` rm /mnt/git-gsoc/git-daemon.pid echo " DONE." echo -n Odmontowuje urzadzenie ... sync umount /mnt/git-gsoc/ echo " DONE." exit 0 else echo Daemon nie zostal uruchomiany exit 1 fi ;; *) echo Uzycie: echo " " $0 "[connect|disconnect]" ;; |
Oczywiście każdy sam musi sobie dostosować ścieżki dostępu 🙂
Kiedy mamy już wszystko poustawiane warto by sprawdzić czy wszytko działa poprawnie tj. uruchamiamy powyższy skrypt z parametrem connect i po chwili powinniśmy mieć uruchomionego daemona GITa. Teraz wystarczy do naszego lokalnego repozytorium dodać to które właśnie utworzyliśmy:
git remote add backup git://localhost/<nazwa repo> |
i używać uchwytu backup 😉
Miłej zabawy ;>