Onde o git config –global é gravado?

Ao usar git config --global para configurar, para qual arquivo irá escrever?

Exemplo:

 git config --global core.editor "blah" 

Não consigo encontrá-lo nesses lugares:

 C:\Program Files\Git\etc\gitconfig C:\myapp\.git\config 

Eu não defini um ENV?

Minha versão do Git: 1.6.5.1.1367.gcd48 – no Windows 7

Atualização 2016: com o git 2.8 (março de 2016), você pode simplesmente usar:

 git config --list --show-origin 

Você verá qual configuração está definida onde.
Consulte “De onde vêm as configurações na minha configuração do Git? ”

Como Steven Vascellaro aponta nos comentários ,

ele funcionará com locais de instalação não padrão. (ou seja, Git Portable )

(como o mais recente PortableGit-2.14.2-64-bit.7z.exe , que pode ser descompactado onde você quiser)


Resposta original (2010)

Dos docs :

–global

Para opções de escrita: escreva para o arquivo global ~/.gitconfig ao invés do repository .git/config .

Como você está usando o Git for Windows , talvez não esteja claro a que local isso corresponde. Mas se você olhar no etc / profile (em C:\Program Files\Git ), você verá:

 HOME="$HOMEDRIVE$HOMEPATH" 

Significado:

 C:\Users\MyLogin 

(no Windows 7)

Isso significa que o arquivo está em C:\Users\MyLogin\.gitconfig para o Git no Windows 7.

Eu também estava procurando pelo global .gitconfig na minha máquina Windows e encontrei este truque usando o git.

Faça um: git config --global -e e, se tiver sorte, você terá um editor de texto carregado com seu arquivo .gitconfig global. Basta procurar a pasta de lá (ou tentar salvar como …), e voilà! 🙂

No * nixes, está no ~/.gitconfig . Existe um arquivo correspondente em sua casa?

No Windows, você pode digitar git bash

 notepad ~/.gitconfig 

Os caminhos para o msysgit são:

Windows XPC:\Documents and Settings\\.gitconfig

Windows Vista + C:\Users\\.gitconfig

O local global é derivado, no Windows MsysGit, usando as variables ​​de ambiente HOMEDRIVE e HOMEPATH, a menos que você tenha definido uma variável de ambiente HOME. O é detalhado no script ‘profile’.

No meu ambiente corporativo, o HOMEDRIVE é H :, que é então mapeado para uma URL de rede \\ share \ $. O lote inteiro é então mapeado para ser “Meus Documentos”, que não é onde os outros esperariam. Pode ter havido alguns problemas adicionais com a unidade para o remapeamento de URL. Eu nem mesmo consigo ajustar as variables ​​HOMEDRIVE ou HOMEPATH de qualquer maneira.

No meu caso, eu defini uma variável de ambiente HOME pessoal e apontei para D: \ git \ GitHOME e copiei todos os arquivos GIT (que estão sem e extensão) para o diretório GitHOME por segurança.

As variables ​​de ambiente do Windows podem ser definidas através da guia Avançado na checkbox de diálogo Propriedades do Meu Computador.

Se você está usando o TortoiseGit em um PC Windows, você pode usar:

 Settings / Git / Config / Edit global .gitconfig 

para abrir o arquivo global .gitignore.

Mas se você usa seu PC com Windows (7) em um domínio, seu diretório de perfil pode ser um compartilhamento de rede (montado como uma unidade). Neste caso, o TortoiseGit (pelo menos: 1.6.5.0) está a apontar para o diretório errado (em c: …). Veja a edição 922 do TortoiseGit para mais informações. Ou usando% HOMEDRIVE %% HOMEPATH% para abrir o diretório que contém o arquivo .gitignore.

Estou usando o SmartGit com msysgit no Windows 8.1 e notei que existem três locais diferentes para o arquivo gitconfig :

 C:\Users\name\.gitconfig C:\Program Files (x86)\Git\etc\gitconfig C:\Program Files (x86)\SmartGitHg\git\etc\gitconfig 

Mas o que é usado é aquele de ” C:\Users\name\.gitconfig “.

Pode ser útil notar (para plataformas * nix): alguns tipos de configuração / informação global do git são armazenados em /usr/share/git-core/ , como git autocompletion scripts e os seguintes ganchos (default):

  • applypatch-msg
  • pós-atualização
  • pré-commit
  • prepare-commit-msg
  • commit-msg
  • pre-applypatch
  • pré-rebase
  • atualizar

Cada um deles pode conter seu próprio conjunto de comandos para executar, no horário descrito pelos seus respectivos nomes de arquivos.

Eu também tive um problema com o meu global .gitconfig Isto é para o caso de alguém também tem esse estranho

git disse:

fatal: erro desconhecido ocorrido durante a leitura dos arquivos de configuração

Agora eu consertei. O problema foi um segundo .gitconfig nesta pasta:

c: \ Users \ myUser.config \ git \ config

Eu não sei de onde veio … Mas agora tudo funciona como um encanto novamente.

Você pode encontrá-lo usando o seguinte comando

 git config --list --show-origin 

insira a descrição da imagem aqui

Estou executando o Windows 7 e usando o git como configuração seguindo as instruções no GitHub (um ano ou dois atrás). Um caso de uso bastante comum que eu teria pensado. Nenhuma das respostas acima me ajudou, e depois de muita frustração acabei encontrando meu arquivo gitconfig “real” no seguinte diretório;

C: \ Usuários \ Bill \ AppData \ Local \ GitHub \ PortableGit_054f2e797ebafd44a30203088cd 3d58663c627ef \ etc

Obviamente, substitua seu nome de usuário e, presumivelmente, o sufixo depois que PortableGit_ for um GUID exclusivo ou similar.

Desinstale o Msysgit e instale o Cygwin + Git. Então o global ‘.gitconfig’ estará aqui: C: \ cygwin (64) \ home \ [userName] \. Gitconfig.

Agora você não precisa se preocupar com uma variável de ambiente que pode ser usada por outros programas. Por exemplo, minha variável de ambiente apontou para uma unidade mapeada no ambiente de domínio do Windows. Eu não quero meu global .gitconfig sentado na minha unidade “home” mapeada. Eu também não sei o que pode acontecer com outros aplicativos que podem depender dessa variável de ambiente do Windows. A divisão de operações pode precisar dessa variável de ambiente definida para a unidade mapeada por um motivo.

Além disso, você não precisa se preocupar com o Mysysgit que sobrescreve suas definições de configuração de ‘perfil’ se você especificar um caminho específico para o global ‘.gitconfig’, usando este método.

Em geral, salve-se e use o shell bash do cygwin nas janelas e seja mais feliz

Quando o arquivo .gitconfig global é criado?

Primeiro, o git não cria automaticamente o arquivo de configuração global (.gitconfig) durante sua instalação. O arquivo não é criado até que seja gravado pela primeira vez. Se você nunca definiu uma variável de sistema, ela não estará no seu sistema de arquivos. Eu estou supondo que pode ser a fonte do problema.

Uma maneira de pedir ao Git para criá-lo é solicitar uma edição. Isso irá forçar a criação do arquivo.

git config –global –edit

Se você monitorar a pasta pessoal do usuário ao emitir este comando, verá o arquivo .gitconfig aparecer magicamente.

Onde a configuração do git é armazenada?

Aqui está um resumo rápido do nome e localização dos arquivos de configuração associados aos três escopos do Git, ou seja, sistema , global e local :

  • Configuração do System Git: Arquivo chamado gitconfig localizado em -git-install-location- / ming <32> / etc
  • Configuração Global Git: Arquivo chamado .gitconfig localizado na pasta pessoal do usuário (usuário C: \ Users \ git)
  • Configuração local do Git: Arquivo nomeado config na pasta .git do repository local

Claro, ver é acreditar, então aqui está uma imagem mostrando cada arquivo e cada local. Eu tirei a imagem de um artigo que escrevi sobre o assunto.

Locais do arquivo de configuração do Windows Git (TheServerSide.com)

Localização dos arquivos de configuração do Git

Eu tive uma questão semelhante; o problema era que o arquivo .gitconfig estava localizado em

 C:\Users\MyLogin\.gitconfig\ 

(no Windows 7)

Em outras palavras, o arquivo estava localizado em C:\Users\MyLogin\.gitconfig\.gitconfig , em vez de em C:\Users\MyLogin\.gitconfig (que é onde o Git estava procurando os arquivos).