220 votes

Comment stocker une configuration git comme faisant partie du dépôt ?

J'utilise des filtres pour manipuler les fichiers pendant la vérification, comme décrit ci-dessous aquí . Le problème est que la définition du filtre n'est stockée que dans mon fichier de configuration local :

$ cat .git/config
....
[filter "dater"]
        smudge = /home/.../expand_date
        clean = perl -pe \"s/\\\\\\$Date[^\\\\\\$]*\\\\\\$/\\\\\\$Date\\\\\\$/\"

Si mes collègues veulent bénéficier de ce Date expansion, ils doivent copier la définition de mon filtre. Et si je la modifie, je dois les en informer, etc.

Je peux donc stocker cette définition de filtre dans le cadre de .git/config dans le dépôt et faire en sorte que git l'utilise ?

237voto

Alexander Yancharuk Points 2769

Il y a 3 portées supportées de .gitconfig fichier : --system, --global, --local . Vous pouvez également créer un fichier de configuration personnalisé, et l'inclure dans l'un des fichiers pris en charge.

Pour vos besoins personnalisé - est le bon choix. Au lieu d'écrire votre filtre en .git/config vous devez l'enregistrer dans .gitconfig dans le répertoire racine de votre dépôt :

your-repo/

 .git/
    config

 .gitconfig

Créer le .gitconfig avec votre filtre et valider les changements. Ainsi, vos collègues seront toujours à jour - mais ils devront l'inclure manuellement. Il n'est pas possible d'inclure automatiquement votre fichier de configuration personnalisé. par le biais de git seul, car cela crée une vulnérabilité de sécurité.

Pour appliquer cette configuration pour un seul référentiel, chaque utilisateur devra exécuter la commande suivante dans le répertoire your-repo/ :

git config --local include.path ../.gitconfig

Référence : https://git-scm.com/docs/git-config#_includes

Veillez à ne pas stocker de données personnelles dans le cadre de l'usage. .gitconfig comme user.* Gardez-les dans votre univers. .gitconfig .

28voto

HoBi Points 156

Vous ne pouvez pas utiliser .gitconfig dans un dépôt git par défaut, mais vous pouvez créer un lien vers celui-ci afin que la configuration git soit versionnée.

Vous pouvez créer un lien vers cette page comme ça :

[include]
  path = ../.gitconfig

J'ai créé un simple script gitconfig.sh qui le font pour vous (beaucoup plus rapide que la copie) + simple .gitconfig donc si vous le souhaitez, jetez un coup d'œil à ce dépôt. https://github.com/HoBi/dotfiles .


EDIT : J'ai supprimé le fichier, mais vous pouvez le trouver ici https://github.com/tenhobi/dotfiles/blob/7e4376c006c508370b82bc7bd37173fab51dbd01/git/.gitconfig.sh

Prograide.com

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.

Powered by:

X