Como mostro minha configuração global do Git?

1076

Eu gostaria de mostrar todas as seções Git configuradas.

Encontrei apenas git config --get core.editore gostaria de produzir tudo o que está configurado globalmente, não apenas o editor padrão configurado.

wullxz
fonte
3
O que há de errado em olhar para .gitconfig?
Rook
1
Observe que em breve (Q3 / Q4 2015) terá com o git 2.6 a opção --name-onlyde listar apenas as chaves de configuração, sem seus valores. Veja minha resposta abaixo
VonC
41
$ git config --list Verificando suas configurações
TarranJones
5
Deve ser git config --global --listcomo explicado mais profundo no aqui
prosti

Respostas:

1722

Você pode usar:

git config --list

ou veja seu ~/.gitconfigarquivo. A configuração local estará no .git/configarquivo do seu repositório .

Usar:

git config --list --show-origin

para ver onde essa configuração está definida (global, usuário, repo, etc ...)

Cameron Skinner
fonte
24
Obrigado, votei em vocês dois. Eu queria saber o git config --listcomando porque eu posso olhar para a configuração eficaz em um repositório e I podem diferir de configuração local, global e no sistema com o parâmetro adequado ( --global, --local, --system). Eu vou aceitar a sua resposta assim que eu sou capaz de porque você estava alguns segundos mais rápido :)
wullxz
2
Cuidado, existem muitas fontes potenciais para a configuração do git. Olhar para o arquivo fornece apenas uma parte. A resposta de @ linquize está de fato correta.
vonbrand
2
@vonbrand: --list é equivalente a -l.
Cameron Skinner
9
Atalhos (como -l) são úteis quando você se torna um usuário avançado e usa o recurso com bastante frequência, para realmente lucrar com a digitação de menos caracteres. Acho mais fácil encontrar e lembrar a --listopção longa . Para atalhos menos óbvios, muitas vezes tenho que verificar o que eles representam, então prefiro nomes longos. Eles são ainda mais fáceis, com a conclusão do comando, quando você realmente não precisa digitar todos os caracteres, mas ainda vê o nome completo da opção.
Krzysztof Jabłoński 24/10
1
E se git config --listnão imprimir nada?
Matej J
247

O mais curto,

git config -l

mostra todos os valores herdados de: sistema, global e local

ceder
fonte
13
Isso difere do git config --list , ou é apenas uma maneira mais curta de escrevê-lo?
Magnilex
8
@Magnilex é apenas um caminho mais curto para escrevê-lo
LemenDrop
3
Os arquivos de configuração nem sempre mostram todas as configurações herdadas, mas git config -lmostram tudo. Salvei-me porque o git for windows define autocrlfna instalação e não está em nenhum arquivo de configuração que eu possa encontrar.
geneorama
sim, há também C: \ ProgramData \ Git \ config arquivo - Eu acho que isso é global ou arquivo git sistema de configuração
Alex
129

Como edito minha configuração global do Git?

Resposta curta: git config --edit --global


Para entender a configuração do Git, você deve saber que:

As variáveis ​​de configuração do Git podem ser armazenadas em três níveis diferentes. Cada nível substitui valores no nível anterior.

1. Nível do sistema (aplicado a todos os usuários no sistema e todos os seus repositórios)

  • para visualizar git config --list --system(pode ser necessário sudo)
  • pôr, git config --system color.ui true
  • para editar o arquivo de configuração do sistema, git config --edit --system

2. Nível global (valores específicos pessoalmente para você, usuário).

  • ver, git config --list --global
  • pôr, git config --global user.name xyz
  • para editar o arquivo de configuração global, git config --edit --global

3. Nível do repositório (específico para esse repositório único)

  • ver, git config --list --local
  • para definir git config --local core.ignorecase true( --localopcional)
  • para editar o arquivo de configuração do repositório, git config --edit --local( --localopcional)

Como visualizo todas as configurações?

  • Execute git config --list, mostrando as configurações locais do sistema , global e (se dentro de um repositório)
  • Executar git config --list --show-origin, também mostra o arquivo de origem de cada item de configuração

Como leio uma configuração específica?

  • Corra git config user.namepara obter user.name, por exemplo.
  • Você também pode especificar opções --system, --global, --localpara ler esse valor em um nível particular.

Referência: 1.6 Introdução - Primeira instalação do Git

kgf3JfUtW
fonte
1
git config --listmostrar tudo global, sistema e local? eu preciso afirmação :)
Adi Prasetyo
2
apenas para adicionar onde estão os arquivos de configuração: Sistema: C: \ ProgramData \ Git \ config (no Windows). Global: C: \ Users \ user \ .gitconfig (Windows) ~ / .gitconfig (Linux) local: projecto-repo / .git / config
Alex
@AdiPrasetyo Sim. Você pode executar git config --list --show-originpara descobrir a origem de cada item de configuração.
kgf3JfUtW 05/12/19
109
git config --list

é um caminho a percorrer. Eu geralmente apenas me abro .gitconfig.

Torre
fonte
2
Você pretendia ~/.gitconfigou um dos outros arquivos mencionados na seção FILES de git help config?
chwarr
1
@chwarr - Desculpe, eu não entendo. Eu "pretendi"?
Rook
1
Eu acho que você quis dizer "Eu normalmente apenas abro ~/.gitconfig.", Pois o git não procura .gitconfigno diretório atual, independentemente de onde você está. ( .gitconfige ~/.gitconfignomeie arquivos diferentes [ geralmente ].) Os outros arquivos mencionados em git help configtêm nomes de arquivos diferentes, daí a suposição.
chwarr
32

Você também pode ligar git config -epara abrir o arquivo de configuração diretamente no seu editor. O arquivo de configuração do Git é muito mais legível que a -lsaída, então eu sempre uso o -esinalizador.

Então, para resumir:

git config -l  # List Git configuration settings (same as --list)
git config -e  # Opens Git configuration in the default editor (same as --edit)
  • Sem parâmetros, ele interage com o local .git/config.
  • Com --globalele interage com ~/.gitconfig.
  • E com --systemele interage com $(prefix)/etc/gitconfig.

(Eu realmente não consegui encontrar o que $(prefix)significa, mas parece usar o padrão $HOME.)

leondepeon
fonte
13

Você também pode usar cat ~/.gitconfig.

Ankit K Gupta
fonte
11

O Git 2.6 (set / out de 2015) adicionará a opção --name-onlyde simplificar a saída de um git config -l:

Consulte commit a92330d , commit f225987 , commit 9f1429d (20 de agosto de 2015) por Jeff King ( peff) .
Consulte commit ebca2d4 (20 de agosto de 2015) e commit 905f203 , commit 578625f (10 de agosto de 2015) por SZEDER Gábor ( szeder) .
(Incorporado por Junio ​​C Hamano - gitster- in commit fc9dfda , 31 de agosto de 2015)

config: adicione a --name-onlyopção ' ' para listar apenas nomes de variáveis

' git config' pode mostrar apenas valores ou pares nome-valor, portanto, se um script shell precisar dos nomes das variáveis ​​de configuração definidas, ele deve ser executado ' git config --list' ou ' --get-regexp' e analisar a saída para separar os nomes das variáveis ​​de configuração de seus valores.
No entanto, essa análise não pode lidar com valores de várias linhas.

Embora ' git config' possa produzir saída terminada em nulo para análise segura de nova linha, isso não serve para nada, porque os shells não conseguem lidar com caracteres nulos.

Até nosso próprio script de conclusão do bash sofre com esses problemas.

Ajude o script de conclusão e os scripts de shell em geral, introduzindo a --name-onlyopção ' ' para modificar a saída de ' --list' e ' --get-regexp' para listar apenas os nomes das variáveis ​​de configuração, para que eles não precisem executar pós-processamento propenso a erros para separar nomes de variáveis ​​de seus valores.

VonC
fonte
10

Uma coisa importante sobre git config:

git configtem --local, --globale --systemos níveis e arquivos correspondentes.

Então você pode usar git config --local, git config --globale git config --system.

Por padrão, git configgravará em um nível local se nenhuma opção de configuração for aprovada. Os valores de configuração local são armazenados em um arquivo que pode ser encontrado no diretório .git do repositório:.git/config

A configuração no nível global é específica do usuário, ou seja, é aplicada a um usuário do sistema operacional. Os valores globais de configuração são armazenados em um arquivo localizado no diretório inicial de um usuário. ~/.gitconfigem sistemas Unix e C:\Users\<username>\.gitconfigno Windows.

A configuração no nível do sistema é aplicada em uma máquina inteira. Isso abrange todos os usuários em um sistema operacional e todos os repositórios. O arquivo de configuração no nível do sistema reside em um gitconfigarquivo fora do caminho raiz do sistema. $ (prefixo) / etc / gitconfig nos sistemas Linux. No Windows, esse arquivo pode ser encontrado em C:\ProgramData\Git\config.

Portanto, sua opção é encontrar esse .gitconfigarquivo global e editá-lo.

Ou você pode usar git config --global --list.

Esta é exatamente a linha que você precisa.

Digite a descrição da imagem aqui

prosti
fonte
7

Se você quiser apenas listar uma parte da configuração do Git, como alias , core , remote , etc., poderá canalizar o resultado através do grep. Algo como:

git config --global -l | grep core
dleal
fonte
4

Em sistemas baseados em Linux, você pode visualizar / editar um arquivo de configuração

vi/vim/nano .git/config

Verifique se você está dentro da pasta Git init.

Se você quer trabalhar --global config, é

vi/vim/nano .gitconfig

on / home / userName

Isso deve ajudar na edição: https://help.github.com/categories/setup/

Daniel Perník
fonte
3

Para encontrar todas as configurações, basta escrever este comando:

git config --list

No meu local, eu executo este comando.

Md Masud@DESKTOP-3HTSDV8 MINGW64 ~
$ git config --list
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
[email protected]
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f
infomasud
fonte
O comando git config é uma função de conveniência usada para definir os valores de configuração do Git em um nível de projeto global ou local. Esses níveis de configuração correspondem aos arquivos de texto .gitconfig. Leia mais aqui: atlassian.com/git/tutorials/setting-up-a-repository/git-config
infomasud
Ótimo, você pode adicionar isso à sua resposta?
RamenChef 5/10/19
1

Desde o Git 2.26.0 , você pode usar a --show-scopeopção:

git config --list --show-scope

Exemplo de saída:

system  rebase.autosquash=true
system  credential.helper=helper-selector
global  core.editor='code.cmd' --wait -n
global  merge.tool=kdiff3
local   core.symlinks=false
local   core.ignorecase=true

Pode ser combinado com

  • --localpara configuração do projeto, --globalpara configuração do usuário , para a configuração --systemde todos os usuários
  • --show-origin para mostrar a localização exata do arquivo de configuração
ford04
fonte