Mise à jour 2012:
Voir Mike Morearty de » réponse :
Comprend
Vous pouvez inclure un fichier de configuration d'un autre en définissant la include.path
variable spéciale sur le nom du fichier à inclure.
Le fichier inclus est immédiatement développé, comme si son contenu avait été trouvé à l'emplacement de la directive include.
Si la valeur de la include.path
variable est un chemin relatif, le chemin est considéré comme relatif au fichier de configuration dans lequel la directive include a été trouvée.
La valeur de include.path
est soumise à l'expansion du tilde: ~/
est étendue à la valeur de $HOME
et ~user/
au répertoire de base de l'utilisateur spécifié.
Je ne pense pas.
Je préfère mettre ce paramètre dans le ~/.gitconfig
fichier
Fichier de configuration spécifique à l'utilisateur. Aussi appelé fichier de configuration "global".
De cette façon, il complète le fichier spécifique au projet .gitconfig, sans être publié lorsqu'il est poussé vers GitHub. Voir également cette réponse SO pour plus d'informations sur le fichier de configuration global.
Git a 3 fichiers de configuration .
bjeanes ajoute dans les commentaires:
il semble que tout le monde a raté le point de cette question.
David veut évidemment pousser un repo de tous ses fichiers de points ( bashrc
, gemrc
, etc.) dont son .gitconfig
afin qu'il puisse avoir tous ses paramètres sur toutes ses machines.
Un moyen de pousser des parties d'un .gitconfig
fichier en incluant et en ignorant les entrées privées est ce qu'il (et moi, d'ailleurs) est après.
Un moyen possible serait d'utiliser un pilote de filtre de nettoyage / nettoyage pour décrypter / crypter un fichier avec des informations sensibles privées (voir ce fil ), afin de compléter un fichier local comme ~ / .gitconfig avec les parties décryptées qui sont pertinentes pour cela fichier.
De cette façon, vous pouvez avoir un dépôt Git avec tous vos fichiers dot, plus un fichier avec des informations cryptées destinées à être décryptées et ajoutées auxdits fichiers dot.
En .gitattributes
(ou .git/info/a..
) utilisation:
myPrivateInfosFile filter=gpg diff=gpg
Dans votre fichier repo .config:
[filter "gpg"]
smudge = gpg -d -q --batch --no-tty
clean = gpg -ea -q --batch --no-tty -r C920A124
[diff "gpg"]
textconv = decrypt
(une solution basée sur GPG signifie, bien sûr, que vous avez communiqué vos clés privées / publiques par un autre moyen sur l'ordinateur de destination où vous souhaitez restaurer tous vos fichiers dot en clonant ce dépôt spécial)
En fait, dans votre cas, le script de maculage doit être terminé car il doit, après avoir déchiffré ce fichier, continuer et ajouter des parties pertinentes à votre ~/.gitconfig
fichier global (sauf si vous écrasez le fichier de configuration global avec un autre emplacement ) ou d'autres fichiers dot pour cela matière.
https://kerneltrap.org/mailarchive/git/2008/3/13/1153274/thread
(les inconvénients gpg sont discutés plus loin dans ce fil ) (cela est différent que d'avoir un dépôt Git crypté complet, comme discuté ici )