Also ich möchte in der Lage sein, ein Git-Repository zu sichern, das mehrere Zweige auf eine externe Festplatte haben kann, und es später zu einem späteren Zeitpunkt wieder auf meinen lokalen Rechner kopieren und damit wie gewohnt arbeiten zu können? Ich habe versucht, einfach den Arbeitsverzeichnis-Ordner zu kopieren, der das .git-Verzeichnis enthält, und es hat funktioniert. Ich habe mich jedoch gefragt, ob das der beste Weg war oder ob es später Fallen gab.Wie kann ein gesamtes Git-Repository auf einem externen Datenträger am besten gesichert werden?
Antwort
Das Kopieren der gesamten Arbeitskopie mit regulären Dateisystemkopierbefehlen funktioniert einwandfrei. Sie können die Sicherung auch komprimieren/tarieren.
Wenn Sie sich Sorgen um Speicherplatz machen, können Sie auch "git bundle" betrachten, was kleinere Dateien erzeugen könnte.
Sie können inkrementelle Backups auch erhalten, indem Sie einfach einen neuen Repo auf dem externen Datenträger (Git Clone) starten und dann die Änderungen jedes Mal ziehen (Git Pull). Es gibt keinen großen Unterschied zwischen einer Sicherungskopie und einer Arbeitskopie in einem verteilten System wie git.
Hier gibt es keine Fehler, git ist ein vollständig verteilter SCM. Das Kopieren einer Arbeitskopie mit dem Verzeichnis .git
ist eine ausreichende Sicherung.
Das ist der einzige Weg, es zu tun, kurz vor dem Klonen des Repository auf der externen Festplatte. Beide Vorgehensweisen sind jedoch in etwa gleichwertig, mit der Ausnahme, dass beim Kopieren Ihres Klons alle Repo-spezifischen Konfigurationseinstellungen beibehalten werden.
Kopieren der gesamten Sache oder mit einem Sync-Tool ist in Ordnung. Das Repo ist vollständig und portabel.
Wenn Sie keine Änderungen an der Sicherung in Ihrem Arbeitsbaum haben, können Sie git clone --mirror
verwenden, um einen nackten Klon zu erstellen, in dem alle Referenzen (Verzweigungen, Tags, absolut alles) wortwörtlich kopiert werden. Sie können dann git push --mirror
verwenden, um es inkrementell auf dem neuesten Stand zu halten. Dafür ist es gedacht.
Das Kopieren des gesamten Repos, einschließlich des Arbeitsbaums, funktioniert ebenfalls, aber es ist ein bisschen mühsam, inkrementell zu arbeiten und nimmt offensichtlich mehr Platz in Anspruch.
Alles ... außer Namensräumen – Izkata
Summieren,
- Sie können das verdammte Verzeichnis einfach kopieren, sicher, dass es funktioniert.
- Sie können klonen.
- Sie können
git bundle
odergit archive
können Sie auch,
- git schnell Export: http://www.kernel.org/pub/software/scm/git/docs/git-fast-export.html
, die Sie in einer einzigen Datei-Dump, die Sie später importieren können aus .
$ git fast-export --all | (cd /empty/repository && git fast-import)
- 1. Wie kann ein Integrationstestserver am besten eingerichtet werden?
- 2. Wie kann der Änderungsverlauf am besten auf Datenbankfeldern gespeichert werden?
- 3. Wie kann ein sehr komplexes Modell am besten verwaltet werden?
- 4. Wie können Daten in Google App Engine am besten gesichert werden?
- 5. Kann ein gesamtes SVN-Repository wiederhergestellt werden?
- 6. Wie kann ein Client ein XML-Schema am besten überprüfen?
- 7. Wie man ein Tupelargument am besten weitergibt?
- 8. Wie kann DateTime am besten in Cookies gespeichert werden?
- 9. Wie kann eine RESTful-Service-Methode am besten überlastet werden?
- 10. Wie kann ein erforderliches Feld in einem Webformular am besten hervorgehoben werden?
- 11. Wie kann eine Statusnachricht in WPF am besten angezeigt werden?
- 12. Wie können Sommerzeitregeln am besten dargestellt werden?
- 13. Wie können Kreditkartenabonnements auf einer Website am besten gehandhabt werden?
- 14. Wie kann ein Menüsystem am besten lokal im Browser zwischengespeichert werden?
- 15. Wie kann die Benutzeranmeldung in Rails am besten implementiert werden?
- 16. Wie stelle ich MACOSX_DEPLOYMENT_TARGET am besten ein?
- 17. Wie kann duplikierter Code plattformübergreifend am besten gehandhabt werden?
- 18. Kann Firebase DB gesichert werden?
- 19. Wie kann der Sandbox-Java-Code am besten ausgeführt werden?
- 20. Wie kann beim Erstellen eines Andockcontainers am besten iteriert werden?
- 21. Wie kann eine teure Initialisierung am besten durchgeführt werden?
- 22. Wie kann die Clientsitzung am besten ablaufen?
- 23. Wie kann ein Schlüsselname für App Engine NDB Model am besten angegeben werden?
- 24. Wie kann ein schwaches WLAN-Signal von einer mobilen App am besten behandelt werden?
- 25. Wie kann java.io.BufferedOutputStream für Speicherabstreifer für vertrauliche Kartendaten gesichert werden?
- 26. Wie kann ein Benutzer am besten benachrichtigt werden, nachdem eine access_control-Regel umgeleitet wurde?
- 27. Wie kann eine Spalte aus einem Dataset (.net) am besten in eine Zeichenfolge [] geladen werden?
- 28. Wie kann eine Versionsnummer in einem Visual Studio 2008-Projekt am besten gespeichert werden?
- 29. Wie kann ein Image-Servlet zur Wahrung der Vertraulichkeit von Bildern am besten bereitgestellt werden?
- 30. Wie kann der Datenzugriff für ein ASP.NET MVC-Projekt am besten eingerichtet werden?
Vielen Dank diese Info ausgearbeitet. Entschuldigung für die verspätete Annahme. Ich ging für ein paar Tage weg. – racl101
Ich habe Schwierigkeiten, Ihren dritten Vorschlag, inkrementelle Backups mit Git, wegen der Unterverzeichnisse zu implementieren, die selbst versioniert sind und somit leer sind. Unter http://stackoverflow.com/q/24198280/2533127. –