Ich habe seit vielen Jahren mein gesamtes $HOMEVerzeichnis in Subversion eingecheckt. Dies beinhaltete alle meine Punktedateien und Anwendungsprofile, viele Skripte, Tools und Hacks, meine bevorzugte Basisstruktur für das Home-Verzeichnis, nicht nur einige seltsame Projekte und ein Warehouse mit zufälligen Daten. Das war eine gute Sache. Solange es dauerte.
Aber es ist außer Kontrolle geraten. Die grundlegende Kaufabwicklung ist auf Dutzenden von Systemen gleich, aber nicht alle diese Dinge sind für alle meine Maschinen geeignet. Es spielt nicht einmal alles gut mit verschiedenen Distributionen.
Ich bin gerade dabei, das Haus zu säubern - die Daten dort zu trennen, wo sie hingehören, einige Skripte als separate Projekte aufzuteilen, einige defekte Links in Sachen zu reparieren, die automatisiert werden sollten usw.
Meine Absicht ist , zu ersetzen , subversionmit gitder Top - Level - Kasse von $HOME, aber ich möchte diese nach unten pare nur auf die Dinge , die ich auf alle meine Systeme haben möchten, was bedeutet , dotfiles, einige Verzeichnisse und einige grundlegende benutzerdefinierte Skripts.
Beim Online-Lesen scheinen viele Leute dies mit dem Symlink-Ansatz zu tun: Klonen Sie in ein Unterverzeichnis und erstellen Sie dann Symlinks aus $HOMEdem Repository. Nachdem ich $HOMEüber ein Jahrzehnt lang unter voller Versionskontrolle war, mag ich die Idee dieses Ansatzes nicht und ich kann nicht herausfinden, warum die Leute der direkten Checkout-Methode so abgeneigt erscheinen. Gibt es Fallstricke, die ich gitals Top-Level-Checkout kennen muss $HOME?
PS: Zum Teil als Übung für gutes Coding plane ich auch, meinen Root-Checkout auf Github zu veröffentlichen. Es ist beängstigend, wie viele sicherheitsrelevante Informationen ich in Dateien sammeln darf, die ohne weiteres gemeinsam genutzt werden können! WiFi-Passwort, nicht passphrasierte RSA-Schlüssel usw. Eeek!
gitWechseln von Zweigen oder beim Auschecken eine frühere Revision die Berechtigungen Ihrer Dateien auf 644nach dem Auschecken ändert, was für Dinge wie private SSH-Schlüssel schlecht ist. Es ist jedoch etckeepereine Lösung für die Verwendung von Git mit Berechtigungen für / etc /
.zshrc, .vimrcohne sie zuerst desinfizieren zu müssen!