.gitconfig
est généralement stocké dans le user.home
répertoire.
J'utilise une identité différente pour travailler sur des projets pour la société A et autre chose pour la société B (principalement le nom / e-mail). Comment puis-je avoir deux configurations Git différentes pour que mes enregistrements ne correspondent pas au nom / e-mail?
git
git-config
priya
la source
la source
[user] email = ...
bloc, remplacera-t-elle le global~/.gitconfig
- et cela ne concerne que votre utilisateur?Il existe 3 niveaux de configuration git; projet, global et système.
Créez une configuration spécifique au projet, vous devez l'exécuter sous le répertoire du projet:
Créez une configuration globale:
Créez une configuration système:
Et comme vous pouvez le deviner, le projet remplace le système global et le système global.
la source
git config user.name
ougit config user.email
vous montrera le nom ou l'email que Git utilisera pour le référentiel actuel.À partir de la version 2.13 de git, git prend en charge les configurations conditionnelles incluses . Dans cet exemple, nous clonons les référentiels de la société A dans le
~/company_a
répertoire et les référentiels de la société B dans~/company_b
.Dans votre,
.gitconfig
vous pouvez mettre quelque chose comme ça.Exemple de contenu de .gitconfig-company_a
Exemple de contenu de .gitconfig-company_b
la source
Merci @ crea1
Une petite variante:
Comme il est écrit sur https://git-scm.com/docs/git-config#_includes :
J'utilise donc dans mon cas,
~ / .gitconfig :
Donc, si le répertoire du projet est dans my
~/wokspace/
, les paramètres utilisateur par défaut sont remplacés par~ / .gitconfig-w :
la source
git config user.name
retour est correct, cela devrait être ok. Êtes-vous sous GNU / Linux ou autre OS?Pour être explicite, vous pouvez également utiliser
--local
pour utiliser le fichier de configuration du référentiel actuel :la source
Vous pouvez également pointer la variable d'environnement
GIT_CONFIG
vers un fichier àgit config
utiliser. AvecGIT_CONFIG=~/.gitconfig-A git config key value
le fichier spécifié est manipulé.la source
Je fais cela pour mon e-mail de la manière suivante:
Ensuite, lorsque je clone un nouveau projet de travail, je n'ai qu'à exécuter
git hobbyprofile
et il sera configuré pour utiliser cet e-mail.la source
Une autre façon consiste à utiliser direnv et à séparer les fichiers de configuration par répertoire. Par exemple:
Chacun
.envrc
devrait contenir quelque chose comme ceci:Et
.gitconfig
est gitconfig habituel avec les valeurs souhaitées.la source
Vous pouvez personnaliser la configuration Git d'un projet en modifiant le fichier de configuration spécifique au référentiel (c'est-à-dire
/path/to/repo/.git/config
). BTW,git config
écrit dans ce fichier par défaut:Je préfère créer des profils distincts pour différents projets (par exemple dans
~/.gitconfig.d/
), puis les inclure dans le fichier de configuration du référentiel:Cela fonctionne bien si vous devez utiliser le même ensemble d'options dans plusieurs référentiels appartenant à un même projet. Vous pouvez également configurer des alias de shell ou une commande Git personnalisée pour manipuler les profils.
la source
Je suis dans le meme bateau. J'ai écrit un petit script bash pour les gérer. https://github.com/thejeffreystone/setgit
la source
-s
n'est pas géré dans votre script Bash.J'ai eu une erreur lors de la tentative de
git stash
modifications locales. L'erreur de git a dit "S'il vous plaît, dites-moi qui vous êtes", puis dites-moi "Exécutergit config --global user.email "[email protected]
etgit config --global user.name "Your name"
définir l'identité par défaut de votre compte". Cependant, vous devez omettre --global pour définir l'identité uniquement dans votre référentiel actuel.la source