J'utilise des filtres pour modifier les fichiers lors du paiement, comme décrit ici . Maintenant, le problème est que la définition de 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 souhaitent bénéficier de cette Date
extension, ils doivent copier ma définition de filtre. Et si je le change, je dois le notifier, etc.
Puis-je stocker cette partie de définition de filtre .git/config
dans le référentiel et faire en sorte que git l'utilise?
Réponses:
Il y a 3 champs de prises en charge
.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és - est le bon choix. Au lieu d'écrire votre filtre,
.git/config
vous devez l'enregistrer dans un.gitconfig
fichier à la racine de votre référentiel:Créez le
.gitconfig
avec votre filtre et validez les modifications. Ensuite, vos collègues le tiendront toujours à jour - mais ils devront l'inclure manuellement. Il n'est pas possible d'inclure automatiquement votre fichier de configuration personnalisé via git seul, car cela crée une vulnérabilité de sécurité.Pour appliquer cette configuration à un référentiel unique, chaque utilisateur devra exécuter la commande suivante dans
your-repo/
:Veillez à ne pas stocker de données personnelles dans la coutume
.gitconfig
, commeuser.*
, conservez-les dans votre global.gitconfig
.la source
.gitconfig
dans le sien~/.gitconfig
. Personne ne s'en souviendra. Existe-t-il un moyen de faire en sorte que git lise TOUJOURS le dépôt.gitconfig
.configure
script ou similaire que les utilisateurs doivent exécuter, vous pouvez avoir défini l'inclusion (ou l'inviter à).--file
option activéegit config
, vous pouvez ensuite la définir pour qu'elle pointe sur votre dépôt.gitconfig
. Je ne l'ai pas encore testé, mais il semble répondre à votre question. Vous pouvez le lire sur la documentation. git-scm.com/docs/git-config#FILESVous ne pouvez pas utiliser de
.gitconfig
fichier dans un référentiel 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 celui-ci comme ça:
J'ai créé un script simple
gitconfig.sh
qui le fait pour vous (beaucoup plus rapide que la copie) + un.gitconfig
fichier simple , donc si vous le souhaitez, jetez un œil à ce repo 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
la source
~/
dossier. Et tout le monde peut avoir des besoins différents, alors pourquoi déranger tout le monde avec votre configuration dans git repo. :-)