.gitconfig
geralmente é armazenado no user.home
diretório
Eu uso uma identidade diferente para trabalhar em projetos para a Empresa A e outra coisa para a Empresa B (principalmente o nome / email). Como posso ter duas configurações diferentes do Git para que meus check-ins não sejam com o nome / email?
git
git-config
priya
fonte
fonte
[user] email = ...
bloco, substituirá o global~/.gitconfig
- e isso é apenas para o seu usuário?Existem 3 níveis de configuração do git; projeto, global e sistema.
Crie uma configuração específica do projeto, você deve executá-la no diretório do projeto:
Crie uma configuração global:
Crie uma configuração do sistema:
E, como você pode imaginar, o projeto substitui o sistema global e global.
fonte
git config user.name
ougit config user.email
mostrará o nome ou e-mail que o Git usará para o repositório atual.A partir da versão 2.13 do git, o git suporta inclusões de configuração condicional . Neste exemplo, clonamos os acordos de recompra da empresa A no
~/company_a
diretório e os acordos de recompra da empresa B em~/company_b
.No seu
.gitconfig
você pode colocar algo parecido com isto.Exemplo de conteúdo de .gitconfig-company_a
Exemplo de conteúdo de .gitconfig-company_b
fonte
Obrigado @ crea1
Uma pequena variante:
Como está escrito em https://git-scm.com/docs/git-config#_includes :
Então, eu uso no meu caso,
~ / .gitconfig :
Portanto, se o diretório do projeto estiver no meu
~/wokspace/
, as configurações padrão do usuário serão substituídas por~ / .gitconfig-w :
fonte
git config user.name
retornar um correto, deve estar ok. Você está sob o GNU / Linux ou outro sistema operacional?Para ser explícito, você também pode usar
--local
a usar atual arquivo de configuração do repositório :fonte
Você também pode apontar a variável de ambiente
GIT_CONFIG
para um arquivo quegit config
deve ser usado. ComGIT_CONFIG=~/.gitconfig-A git config key value
o arquivo especificado é manipulado.fonte
Estou fazendo isso para o meu email da seguinte maneira:
Então, quando clonar um novo projeto de trabalho, só tenho que executar
git hobbyprofile
e ele será configurado para usar esse email.fonte
Outra maneira é usar o direnv e separar os arquivos de configuração por diretório. Por exemplo:
Cada um
.envrc
deve conter algo como isto:E
.gitconfig
é gitconfig usual com os valores desejados.fonte
Você pode personalizar a configuração do Git de um projeto alterando o arquivo de configuração específico do repositório (ou seja
/path/to/repo/.git/config
). BTW,git config
grava neste arquivo por padrão:Prefiro criar perfis separados para diferentes projetos (por exemplo, in
~/.gitconfig.d/
) e incluí- los no arquivo de configuração do repositório:Isso funciona bem se você precisar usar o mesmo conjunto de opções em vários repositórios que pertencem a um único projeto. Você também pode configurar aliases de shell ou um comando Git personalizado para manipular os perfis.
fonte
Eu estou no mesmo barco. Eu escrevi um pequeno script bash para gerenciá-los. https://github.com/thejeffreystone/setgit
fonte
-s
não é tratado no seu script Bash.Ocorreu um erro ao tentar
git stash
minhas alterações locais. O erro do git dizia "Diga-me quem você é" e me disse para "Executargit config --global user.email "[email protected]
egit config --global user.name "Your name"
definir a identidade padrão da sua conta". No entanto, você deve Omitir --global para definir a identidade apenas no seu repositório atual.fonte