Ich mache das schon eine Weile, nur mit git. Ich kann nicht das gesamte Heimatverzeichnis nachverfolgen, sondern nur die Teile, die ich aktiv verändere. Dies beinhaltet mein home / bin-Verzeichnis, das viele kleine Skripte enthält, mein .vim-Verzeichnis und einige größere Projekte in anderen Verzeichnissen. Es gibt auch einige Konfigurationen für Terminals und Openbox sowie verschiedene andere Apps, die zum Repo hinzugefügt werden.
Das funktioniert gut genug, da alle diese Sachen über die gleichen Berechtigungen verfügen und der ursprüngliche Zeitstempel mir egal ist. Es ist an dem Punkt, an dem ich vorhabe, einen Teil davon in Submodule aufzuteilen git filter-branch
. Dies ist jedoch ein bisschen schwierig, da es Abhängigkeiten zwischen Dateien in verschiedenen Unterverzeichnissen gibt (z. B. rufen einige .vim-Skripts möglicherweise Skripts aus meinem bin-Verzeichnis auf ... kein sehr gutes Beispiel, aber hoffentlich haben Sie den Punkt verstanden).
Ich habe keine umfassenderen Lösungen gefunden, aber auch nicht wirklich nachgedacht, einschließlich der Git-Home-Geschichte. Es scheint ziemlich kompliziert zu sein, das gesamte Home-Verzeichnis unter Revisionskontrolle zu stellen, und es würde eine Menge Variablen geben. Wenn Sie beispielsweise Ihre Firefox-Profile unter Revisionskontrolle setzen, werden Sie am Ende riesige Mengen binärer Differentiale aufstapeln. Es gibt auch Dinge wie ssh-Schlüssel, die oft besser verloren gehen als dupliziert.
Wenn Sie Berechtigungen verfolgen möchten (abgesehen von dem ausführbaren Bit, das git bereits verfolgt), gibt es anscheinend einen Haken, der dies tut. Es wird in diesem Serverfault-Thread erwähnt .