Je voudrais inclure un fichier dans mon .gitconfig qui a les paramètres de mon github - est-ce possible ?
Je peux faire quelque chose comme ceci :
Je voudrais inclure un fichier dans mon .gitconfig qui a les paramètres de mon github - est-ce possible ?
Je peux faire quelque chose comme ceci :
Git (1.7.10+) maintenant prend en charge cette syntaxe en .gitconfig
:
[include]
path = /path/to/file
Voir ici pour une description détaillée de le git du changement et des cas limites.
Par ailleurs, un couple de subtilités mérite d'être souligné:
Environnement-l'expansion des variables, par exemple, $HOME
, n'est pas pris en charge. (L'Expansion de l' ~
paru dans Git 1.7.10.2.)
Si un chemin d'accès relatif est spécifié, il est relatif à l' .gitconfig fichier qui a l' [include]
déclaration. Cela fonctionne correctement, même à travers enchaîné comprend (par exemple, ~/.gitconfig
peut avoir:
[include]
path = subdir/gitconfig
et subdir/gitconfig
peut avoir:
[include]
path = nested_subdir/gitconfig
... qui va provoquer subdir/nested_subdir/gitconfig
à être chargé.
Si git ne peut pas trouver le fichier cible, il ignore silencieusement l'erreur. Cela semble être de par leur conception.
Mise à jour 2012:
Voir Mike Morearty's réponse:
Vous pouvez inclure un fichier de configuration à partir d'un autre par la définition de la spéciale,
include.path
variable le nom du fichier à inclure.
Le fichier inclus est élargi immédiatement, comme si son contenu n'avait été trouvé à l'emplacement de la directive include.
Si la valeur de l'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é.
La valeur deinclude.path
est soumise à l'expansion du tilde:~/
est développée à la valeur de$HOME
, et~user/
à la valeur indiquée répertoire home de l'utilisateur.
Je ne le crois pas.
Je préfère me dire que ce paramètre dans l' ~/.gitconfig
le fichier
Spécifiques à l'utilisateur du fichier de configuration. Aussi appelé "global" dans le fichier de configuration.
De cette façon, il termine l' .gitconfig projet de fichier spécifique, sans être publiées lorsque poussé à GitHub. Voir aussi cette SORTE de réponse pour en savoir plus sur le mondial de fichier de configuration.
Git a 3 fichiers de configuration.
bjeanes ajoute dans les commentaires:
il ressemble à tout le monde raté le point de cette question.
David veut évidemment pousser jusqu'à une pension à tous ses fichiers" (bashrc
,gemrc
, etc.) Y COMPRIS son.gitconfig
, de sorte qu'il peut disposer de toutes ses paramètres sur l'ensemble de ses machines.
Une manière de pousser les parties d'un.gitconfig
le fichier en incluant et en ignorant les entrées privées est ce qu'il (et moi aussi), est après.
Une solution possible serait d'utiliser une bavure propre pilote de filtre à décrypter/crypter un fichier avec le privé, des informations sensibles (voir ce fil), afin de compléter un fichier local comme ~/.gitconfig avec la restitution des pièces qui sont pertinentes à ce fichier.
De cette façon, vous pouvez avoir un repo Git avec tous vos fichiers", plus un seul fichier avec des informations chiffrées destiné à être déchiffré et ajoutés à l'dot fichiers.
En .gitattributes
(ou .git/info/a..
) utilisation:
myPrivateInfosFile filter=gpg diff=gpg
Dans votre pension .fichier de configuration:
[filter "gpg"]
smudge = gpg -d -q --batch --no-tty
clean = gpg -ea -q --batch --no-tty -r C920A124
[diff "gpg"]
textconv = decrypt
( GPG-solution basée sur les moyens, bien sûr, que vous ayez communiqué votre privée/clé publique par un autre moyen sur l'ordinateur de destination où vous souhaitez restaurer tous vos fichiers " par le clonage de cette spéciale pensions)
Effectivement, dans votre cas, la purification de script doit être rempli comme il se doit, après avoir déchiffré ce fichier, allez sur et ajouter des éléments pertinents à votre global ~/.gitconfig
le fichier (à moins que vous écraser le fichier de configuration global avec un autre emplacement) ou d'autres fichiers " pour cette question.
https://kerneltrap.org/mailarchive/git/2008/3/13/1153274/thread (gpg inconvénients sont discutés plus loin dans ce fil) (ce qui est différent que d'avoir un plein encrytped repo Git, comme discuté ici)
À partir de mai 2010, ce n’est pas possible. Malheureusement.
Référence: mai 2010 git mailing liste thread propose d’ajouter cette fonctionnalité : http://kerneltrap.org/mailarchive/git/2010/5/8/30030/thread
Je crois que vous pouvez accomplir cela en utilisant defunkt, la plateforme de l'outil. Ceci est un wrapper pour la commande git qui, entre autres choses, permet de disposer GITHUB_USER
et GITHUB_TOKEN
variables d'environnement. Qui va remplacer les paramètres du local .gitconfig
le fichier.
Ensuite, afin de la rendre transparente l'utilisateur vous l'avez souligné alias alias git=hub
dans son ZSH config. Vous devriez être en mesure, ensuite, de la source d'un fichier local où vous pouvez définir vos variables d'environnement et pousser votre référentiel de l'opinion publique du monde avec l'ensemble de vos informations privées dans le tact.
**NOTE pour les homebrew utilisateurs sur OSX, vous pouvez l'installer via l'outil brew install hub
.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.