Je suis un peu d'une liaison avec Git
. Je suis en train d'exécuter git commit
mais je dois pouvoir swtich entre ~/.gitconfig1
et ~/.gitconfig2
est-il un commutateur de ligne de commande - ou en tout cas d'avoir Git
utiliser un fichier gitconfig différent puis ceux trouvés à /etc/gitconfig
, ~/.gitconfig
et .git/config
?Comment puis-je spécifier le chemin gitconfig global personnalisé?
Répondre
J'ai trouvé un moyen d'exécuter cette - ce n'était pas élégant, mais il a fait le travail - et semble jusqu'à présent être la seule façon d'obtenir ce travail. Git utilise le chemin HOME
pour déterminer où se trouve .gitconfig
. J'ai pu exécuter quelque chose comme ceci:
/home/marco/.silly/.gitconfig
/home/marco/.stupid/.gitconfig
/home/marco/.gitconfig
Et lors de l'exécution Git Commit (qui est la seule commande qui nécessite l'.gitconfig
) Je l'emportaient sur le chemin de la maison.
HOME=/home/marco/.silly/ git commit -m "silly configuration"
Vous pouvez ensuite utiliser alias pour le faire facilement
alias sillygit="HOME=/home/marco/.silly/ git"
sillygit commit -m "silly stuff"
Nice hack. Je n'arrive pas à trouver de véritable moyen de le faire - il y a une variable d'environnement GIT_CONFIG, mais elle affecte seulement 'git config' elle-même, de la même façon que son option' -f, - file'. – Cascabel
man git-config
me dit d'utiliser le drapeau -f
pour passer un fichier de configuration. Cependant, il ne semble pas fonctionner avec d'autres commandes que git config
, donc je pense que vous devez l'appeler avant de vous engager, facile à faire avec un alias.
Cela dit juste que l'invocation particulière de git-config quel fichier lire ou écrire - cela n'affectera pas d'autres commandes, autant que je sache. – Cascabel
Correct - cela n'a pas fonctionné. –
Vous pouvez utiliser --git-dir
git --git-dir /home/marco/silly/.git commit ...
--git-dir définit le référentiel en cours d'édition, que l'utilisateur tente précisément d'éviter. –
Mario Ceppi de alias approach peut être utilisé d'une manière un peu plus élégant en utilisant l'argument -c config=value
à git
:
$ alias sillygit="git -c user.name=Silly -c [email protected]"
$ sillygit commit
Cela suppose bien sûr que cela ne vous dérange pas de conserver les différentes clés de configuration dans votre .bashrc
ou similaire au lieu de dans votre .gitconfig
, et il a la mise en garde de l'achèvement de la coque de rupture.
- 1. Comment est défini le chemin de chargement Ruby? Le "$:" global
- 2. Personnalisé Hotkey global
- 3. Comment obtenir des alias fonctionnant dans .gitconfig?
- 4. FOP: comment spécifier le chemin relatif de l'image src?
- 5. Comment spécifier un décalage vertical dans le chemin d'URL
- 6. Comment exécuter un programme sans spécifier le chemin d'accès complet?
- 7. Comment spécifier le chemin physique dans la page ASPX?
- 8. Comment spécifier un chemin relatif pour le script jsUnit-ant?
- 9. comment spécifier le nom de fichier et fermer le formulaire de chemin d'information sur le bouton de soumission personnalisé?
- 10. Comment spécifier SoapAction personnalisé pour WCF
- 11. NHibernate Comment spécifier le type sql personnalisé uniquement en production
- 12. Comment spécifier le répertoire Sass personnalisé avec Sinatra
- 13. problème avec le chemin de destination personnalisé
- 14. Comment ajouter un chemin d'inclusion global pour xcode
- 15. Impossible de trouver .gitconfig dans le vieux Git commits
- 16. Spécifier le chemin de sortie pour la compilation dynamique
- 17. Comment spécifier un chemin de fichier pour ftp en xml
- 18. Comment spécifier un sel personnalisé sur Acegi avec des grails?
- 19. Comment spécifier un emplacement personnalisé pour crossdomain.xml dans actionscript?
- 20. Comment spécifier le chemin du fichier dans les rails sur le serveur Web Mongrel
- 21. Comment spécifier le chemin pour le fichier d'un projet différent dans WPF?
- 22. C# comment spécifier le chemin du fichier appData dans le fichier app.config
- 23. Comment spécifier une collection dans un configSection personnalisé
- 24. Recherche dans le catalogue global
- 25. Chemin personnalisé pour les scripts de vue
- 26. Linq dynamique: comment spécifier le type StringComparison?
- 27. comment j'ai dû spécifier le chemin du fichier .htpasswd dans .htaccess relatif ou absolu
- 28. Filtrer le site global par le tag
- 29. Comment obtenir le chemin complet d'un chemin
- 30. Comment créer un chemin de ressources personnalisé dans les rails?
Avez-vous besoin en fait deux configs différentes alors que dans une pension? Pouvez-vous juste utiliser le .git/config pour chaque repo pour obtenir ce que vous voulez? Je suppose que ce n'est pas très élégant si vous n'avez que deux paramètres communs à répartir sur des dizaines de repos? – Cascabel
@Jefromi Oui, je le fais. C'est une situation unique que j'ai rencontrée où deux configs sont nécessaires –
L'autre alternative évidente serait globalement l'alias 'git commit-v2' (ou quelque chose de plus court) à'! Export GIT_AUTHOR_NAME = "Second name"; git commit'. – Cascabel