Git als backup-und Versionsverwaltung
Möchte ich Git verwenden, um das backup meines home-Laufwerk, aber ich möchte auch, es zu benutzen als ein version control system für Projekte, die gespeichert werden in meinem home-Laufwerk an.
Wie würde ich tun? Tun Ich .gitignore alle Projekte, die root-Ordner und stellen Sie die neuen Repositorys für Sie?
Edit:
Ok, ich erklärte, was ich wollte, zu Unrecht. Ich möchte eine Historie der änderungen an meinem home-Laufwerk wie kann ich mit Git und ich will auch wieder nach.
- Das ist nicht das, was Git ist, es ist ein version control system.
- Mit git auf ein Laufwerk sichern, ist Massiv übertrieben.
- Nein. es ist nicht übertrieben ... das würde bedeuten noch was anderes ... wie die Verwendung von git für die Versionskontrolle ein Skript von drei Zeilen. git - es ist einfach nicht das tool für den job. git ist nicht ein backup-system.
- Welche Art von Speicher Sie verwenden möchten für Ihr backup?
- Ja, nach voll-Sichtbarkeit und granulare Kontrolle über periodische änderungen auf gesamte fs zerlegt in atomaren commits und Protokolle mit inkrementeller updates ist eine SCHRECKLICHE Idee und der Preis von wissen, ein paar git-Befehle ist einfach zu hoch
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich schrieb einen blog-post über diesem eine Weile zurück:
ABER, wenn Sie wirklich wollen, check out bup - soweit ich das beurteilen kann, tut es-backup mit
git
"rechts".Verwenden
rsync
für die Sicherung.Verwenden
git
für die Versionsverwaltung.Ich habe festgestellt, das backintime-gnome (glade/python, separate backend?) gut für die geplante inkrementelle backups, es funktioniert für Ihre täglich, wöchentlich, monatlich etc.. Dann Git-repos für die source-Dateien oder andere ändern-kritische Daten würde wickeln Sie es sich schön. Ich habe nicht gespielt mit der bachintime-common backend-Befehle, aber Sie alle scheinen zu python.
Ich verwende es in Ubuntu, "Bedenken Sie, dass, Zurück In der Zeit ist nur eine GUI. Die wirkliche Magie geschieht durch rsync (Schnappschüsse und wiederherstellen), diff (prüfen Sie, ob somethind geändert) und cp (machen hardlinks)." -http://backintime.le-web.org/documentation/
Sie wirklich wollen, verwenden Sie rsync zur Sicherung Ihrer Daten.
Überprüfen Sie heraus die folgende url für weitere Informationen über rsync und auch einige Beispiele auf, wie Sie ein backup Ihrer Daten:
http://www.sanitarium.net/golug/rsync_backups_2010.html
Gibt es ein paar Projekte, die darauf abzielen, dieses problem zu lösen:
bup scheint die größten Fortschritte gemacht haben: https://github.com/apenwarr/bup
Aber Sie können auch suchen wollen gibak oder Kühlhaus.
Liest ziemlich viel, wie ich Tue. Ich habe ein git repository in mein home-Verzeichnis, aber ich benutze, die verfolgen nur die Konfigurations-Dateien, die kann ich von hand editieren. (Diese Regel out-Zustand-Dateien gehalten, die von "modernen" desktop-Umgebungen und fast alles, was als XML gespeichert.) Alles andere geht in
.gitignore
. Once upon a time, habe ich beschlossen, dass meine "Notizen" - Verzeichnis und meine~/.emacs.d
gehen sollten, in Ihre eigenen Repositorys, so habe ich git-repositories in diesen Verzeichnissen und hatte das Haupt-repository zu ignorieren.Ich glaube nicht, verwenden Sie diese setup für backup-Zwecke, sondern auch zum synchronisieren des getrackten Dateien zwischen accounts auf verschiedenen Computern, aber ich nehme an, dass dies auch für backups.
Unter windows git-Erweiterungen sowie die gitGui erlauben, Sie zu Klonen eines Repositorys, die es erlauben würde, Sie, ein backup zu machen, ohne alle Dateien in .gitignore.
Nächsten 7zip it up und Sie sind fertig!
Tolle Idee, ich benutze es täglich und es funktioniert fantastische, bis Ihr pc stürzt mid-commit und verdirbt Ihre repo. Ersten mal passiert, es nahm mir einen Tag, um alles zu fixieren und die Wiederherstellung von sicherungen, die Sie am Ende das lernen ganz ein bisschen über die git-internals in den Prozess, so dass ein zusätzlicher nutzen. Angenommen, Sie sind auf linux empfehle ich, dass Sie eine lokale Kopie der .git dir gesichert auf einem anderen Laufwerk oder was auch immer, dann git init auf der /root-Betriebssystem und verwenden .gitignore zu kontrollieren, was wird versioniert. Einige Dateien sind "special", so dass Sie wahrscheinlich wollen Sie ausschließen standardmäßig, wie Sachen in /proc. Sie können genau beobachten, was die software tun wird, um dein fs und zurück Rollen gebrochen-Anlagen und verfolgen von Konfiguration, logs, etc. ist ein Kinderspiel. Ich weiß nicht, warum alle diese Nein-Sager sagen "Mach es nicht" weil ich es Tat und es ist sehr praktisch, und sehr genial. Wie ich schon sagte, nur Nachteil ist beschädigt repo, wenn etwas unvorhergesehenes passiert, aber wenn Sie sich für die Festsetzung einer gebrochenen Begehen, ist nur eine Frage der Vervielfältigung der pre-beschädigt .git über der beschädigten.