Update 2012:
Siehe Mike Morearty ‚s Antwort :
Beinhaltet
Sie können eine Konfigurationsdatei aus einer anderen einschließen, indem Sie die spezielle include.path
Variable auf den Namen der einzuschließenden Datei setzen .
Die eingeschlossene Datei wird sofort erweitert, als ob ihr Inhalt am Speicherort der include-Direktive gefunden worden wäre.
Wenn der Wert der include.path
Variablen ein relativer Pfad ist, wird der Pfad als relativ zur Konfigurationsdatei betrachtet, in der die include-Direktive gefunden wurde.
Der Wert von include.path
unterliegt der Tilde-Erweiterung: Er ~/
wird auf den Wert von $HOME
und ~user/
auf das Home-Verzeichnis des angegebenen Benutzers erweitert.
Ich glaube nicht.
Ich würde diese Einstellung lieber in die ~/.gitconfig
Datei einfügen
Benutzerspezifische Konfigurationsdatei. Wird auch als "globale" Konfigurationsdatei bezeichnet.
Auf diese Weise wird die projektspezifische Datei .gitconfig vervollständigt, ohne veröffentlicht zu werden, wenn sie an GitHub gesendet wird. Weitere Informationen zur globalen Konfigurationsdatei finden Sie auch in dieser SO-Antwort .
Git hat 3 Konfigurationsdateien .
bjeanes fügt in den Kommentaren hinzu:
es sieht so aus, als hätten alle den Punkt dieser Frage verpasst.
David will offenbar ein Repo aller seiner Punkt - Dateien drücken ( bashrc
, gemrc
usw.) einschließlich seiner .gitconfig
so kann er auf alle seine Maschinen alle seine Einstellungen.
Eine Möglichkeit, Teile einer .gitconfig
Datei durch Einschließen und Ignorieren privater Einträge zu verschieben, ist das, wonach er (und ich) suchen.
Eine mögliche Möglichkeit wäre die Verwendung eines Smudge / Clean-Filtertreibers zum Entschlüsseln / Verschlüsseln einer Datei mit privaten vertraulichen Informationen (siehe diesen Thread ), um eine lokale Datei wie ~ / .gitconfig mit den dafür relevanten entschlüsselten Teilen zu vervollständigen Datei.
Auf diese Weise können Sie ein Git-Repo mit all Ihren Punktedateien sowie eine Datei mit verschlüsselten Informationen erstellen, die entschlüsselt und zu diesen Punktdateien hinzugefügt werden sollen.
In .gitattributes
(oder .git/info/a..
) Verwendung:
myPrivateInfosFile filter=gpg diff=gpg
In Ihrer Repo-Konfigurationsdatei:
[filter "gpg"]
smudge = gpg -d -q --batch --no-tty
clean = gpg -ea -q --batch --no-tty -r C920A124
[diff "gpg"]
textconv = decrypt
(Eine GPG-basierte Lösung bedeutet natürlich, dass Sie Ihre privaten / öffentlichen Schlüssel auf andere Weise auf den Zielcomputer übertragen haben, auf dem Sie alle Ihre Punktedateien wiederherstellen möchten, indem Sie dieses spezielle Repo klonen.)
In Ihrem Fall muss das Smudge-Skript tatsächlich abgeschlossen werden, da nach dem Entschlüsseln dieser Datei relevante Teile zu Ihrer globalen ~/.gitconfig
Datei hinzugefügt werden müssen (es sei denn, Sie überschreiben die globale Konfigurationsdatei mit einem anderen Speicherort ) oder andere Punktdateien dafür Angelegenheit.
https://kerneltrap.org/mailarchive/git/2008/3/13/1153274/thread
(GPG-Unannehmlichkeiten werden in diesem Thread weiter erläutert ) (dies unterscheidet sich von einem vollständig verschlüsselten Git-Repo, wie hier beschrieben ).