Git: Um guia detalhado sobre a configuração do Git

A configuração do Git é o primeiro passo para utilizá-lo, e uma configuração adequada pode tornar seu trabalho mais eficiente e profissional. Esta aula apresentará uma explicação detalhada de todos os aspectos da configuração do Git.

1. Visão geral da configuração do Git

A configuração do Git (git config) é usada para definir como o Git funciona e para especificar informações do usuário. As informações de configuração são armazenadas em arquivos de configuração, e o Git lê essas configurações por ordem de prioridade.

(1) Por que a configuração é necessária?

O Git precisa das seguintes informações:

(2) Sintaxe básica dos comandos de configuração

BASH
git config [<Level>] <Configuration Options> <value>

Parâmetros de nível:


2. Configuração da identidade do usuário

A identidade do usuário é a configuração mais importante do Git; essa informação é registrada a cada commit.

(1) Por que é necessário configurar a identidade?

Imagine um mundo sem identificação:

TEXT 📖 Somente leitura
Submit1:Added a login feature(Who is the author??)
Submit2:Fixedbug(Who fixed it??)
Submit3:Performance has been optimized(Is there a way to contact the author??)

O papel das informações de identidade:

(2) Configure o nome de usuário e o endereço de e-mail

BASH
# Configure Global Username(We recommend using your real name or a nickname.)
git config --global user.name "Zhang San"

# Configure a Global Email Account(Recommended for useGitHub/GitLabAccount Email)
git config --global user.email "zhangsan@example.com"

▶ Exemplo: Configurando e verificando informações de identidade

BASH
# Steps1:Configure Username
git config --global user.name "Zhang San"

# Steps2:Set Up Email
git config --global user.email "zhangsan@example.com"

# Steps3:Verify Configuration
git config user.name
# Output:Zhang San

git config user.email
# Output:zhangsan@example.com

# Steps4:View the contents of the configuration file
cat ~/.gitconfig
# Output:
# [user]
#     name = Zhang San
#     email = zhangsan@example.com
💡 Dica: Recomendamos usar o endereço de e-mail associado à sua conta do GitHub/GitLab, para que seu histórico de commits fique vinculado à sua conta e exiba seu avatar e nome de usuário.


3. Níveis de configuração e prioridades

A configuração do Git é dividida em três níveis, em ordem decrescente de prioridade: local > global > do sistema.

(1) Explicação detalhada dos níveis de configuração

100%
graph TB
    A[Local Configuration<br/>--local<br/>Priority:Highest] --> B[Global Configuration<br/>--global<br/>Priority:Intermediate]
    B --> C[System Configuration<br/>--system<br/>Priority:Lowest]
    
    style A fill:#e1f5ff
    style B fill:#fff4e1
    style C fill:#f0f0f0

Tabela de descrição dos níveis de configuração:

Nível Parâmetro Localização do arquivo Escopo Caso de uso
Configuração local --local .git/config Repositório atual Configuração específica do projeto
Configurações globais --global ~/.gitconfig Todos os repositórios do usuário atual Preferências pessoais
Configuração do sistema --system /etc/gitconfig Todos os usuários do sistema Configuração padrão do sistema

(2) Localização do arquivo de configuração

Windows:

TEXT 📖 Somente leitura
System Configuration:C:\ProgramData\Git\config
Global Configuration:C:\Users\Username\.gitconfig
Local Configuration:Project Directory\.git\config

Sistemas Linux/Mac:

TEXT 📖 Somente leitura
System Configuration:/etc/gitconfig
Global Configuration:~/.gitconfig
Local Configuration:Project Directory/.git/config

(3) Regras de prioridade

Quando a mesma opção de configuração aparece em vários níveis, o Git usa o valor com a prioridade mais alta:

TEXT 📖 Somente leitura
Local Configuration(Highest)→ Global Configuration(Intermediate)→ System Configuration(Lowest)

▶ Exemplo: Configuração em diferentes níveis

BASH
# Scene:Global Use"Zhang San",But a certain project requires the use of"Li Si"

# Steps1:Configure Global Identity(Applicable to all projects)
git config --global user.name "Zhang San"
git config --global user.email "zhangsan@example.com"

# Steps2:Go to a specific project directory
cd /path/to/special-project

# Steps3:Configure Local Identity(Current project only)
git config --local user.name "Li Si"
git config --local user.email "lisi@company.com"

# Steps4:Verify the identity used for the current project
git config user.name
# Output:Li Si(Local settings override global settings.)

# Steps5:Verify Global Identity(In other projects)
cd /path/to/other-project
git config user.name
# Output:Zhang San(Using Global Settings)
⚠️ Observação: Geralmente, basta configurar isso no nível global, a menos que um projeto específico exija um endereço de e-mail específico (por exemplo, um e-mail corporativo para projetos da empresa e um e-mail pessoal para projetos pessoais).


4. Opções comuns de configuração

Além das contas de usuário, há muitas configurações úteis que podem ajudá-lo a trabalhar com mais eficiência.

(1) Configuração do editor

O Git abre um editor de texto sempre que é necessário inserir texto (como ao escrever uma mensagem de commit).

BASH
# Set the default editor toVS Code(Recommendations)
git config --global core.editor "code --wait"

# Set the default editor toVim
git config --global core.editor "vim"

# Set the default editor toNano
git config --global core.editor "nano"

# Windows:Set the default editor toNotepad++
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

(2) Configuração automática de quebra de linha

Diferentes sistemas operacionais utilizam caracteres de quebra de linha diferentes:

BASH
# WindowsRecommended User Configurations
# Convert upon submission toLF,Convert to upon detectionCRLF
git config --global core.autocrlf true

# Linux/MacRecommended User Configurations
# Convert upon submission toLF,Do not convert when detected
git config --global core.autocrlf input

# Disable Auto-Conversion(Not recommended)
git config --global core.autocrlf false

(3) Configuração de aliases de comando

Os aliases permitem atribuir nomes curtos a comandos usados com frequência, o que aumenta consideravelmente a eficiência.

BASH
# Set Aliases for Common Commands
git config --global alias.st status        # git st = git status
git config --global alias.co checkout      # git co = git checkout
git config --global alias.br branch        # git br = git branch
git config --global alias.ci commit        # git ci = git commit
git config --global alias.unstage 'reset HEAD --'  # git unstage

# Set an alias with options
git config --global alias.last 'log -1 HEAD'  # git last = View the last commit
git config --global alias.lg "log --graph --oneline --decorate --all"  # Formatted Logs

▶ Exemplo: Combinações práticas de configuração

BASH
# Steps1:Set the default branch name tomain(rather thanmaster)
git config --global init.defaultBranch main

# Enable Color Output (make git output easier to read)
git config --global color.ui auto

# Steps3:Set to use when pullingmerge(rather thanrebase)
git config --global pull.rebase false

# Steps4:Configure push settings to push only to the current branch
git config --global push.default simple

# Steps5:Turn on AutoCorrect(Automatically attempt to correct a mistyped command)
git config --global help.autocorrect 1

# Steps6:Verify all configurations
git config --global --list | grep -E "(init|color|pull|push|help)"
# Output:
# init.defaultbranch=main
# color.ui=auto
# pull.rebase=false
# push.default=simple
# help.autocorrect=1

5. Visualizar e gerenciar configurações

Saber como visualizar e gerenciar configurações é uma habilidade fundamental para usar o Git.

(1) Ver todas as configurações

BASH
# View All Configurations(Results of the Merger of the Three Levels)
git config --list

# View Global Settings
git config --global --list

# View Local Configuration
git config --local --list

# View System Configuration
git config --system --list

(2) Visualizar um único item de configuração

BASH
# View Username
git config user.name

# Check Email
git config user.email

# View Editor
git config core.editor

# View the default branch name
git config init.defaultBranch

(3) Modificar as configurações

BASH
# Change Username(Overwrite directly)
git config --global user.name "New Name"

# Change Email Address
git config --global user.email "new.email@example.com"

(4) Excluir um item de configuração

BASH
# Delete Global Configuration Items
git config --global --unset user.name

# Delete Local Configuration Entries
git config --local --unset user.name

# Delete Alias
git config --global --unset alias.st

▶ Exemplo: Visualizar informações de configuração

BASH
# Steps1:View All Configurations
git config --list
# Output Example:
# user.name=Zhang San
# user.email=zhangsan@example.com
# core.editor=code --wait
# init.defaultbranch=main
# color.ui=auto
# alias.st=status
# alias.co=checkout
# alias.br=branch
# alias.ci=commit

# Steps2:View a Single Configuration
git config user.name
# Output:Zhang San

# Steps3:View Configuration Source(Show which file the configuration comes from)
git config --show-origin user.name
# Output:file:C:/Users/Zhang San/.gitconfig    Zhang San

# Steps4:View all configurations and their sources
git config --list --show-origin
# Output Example:
# file:C:/ProgramData/Git/config    core.symlinks=false
# file:C:/Users/Zhang San/.gitconfig    user.name=Zhang San
# file:.git/config    core.repositoryformatversion=0

❓ Perguntas Frequentes

P: O endereço de e-mail que eu configurar precisa ser o mesmo do meu endereço de e-mail do GitHub?

R: Não é obrigatório, mas recomendamos fortemente que você seja consistente. Se você usar o mesmo nome de usuário, o GitHub vinculará o histórico de commits à sua conta, exibirá sua foto de perfil e seu nome de usuário e tornará seu histórico de contribuições mais claro.

P: Por que meu envio aparece com o nome de usuário errado?

R: A configuração local pode estar substituindo a configuração global. Use git config --local --list para verificar a configuração local ou use git config --show-origin user.name para visualizar a fonte da configuração.

P: Como faço para excluir um item de configuração?

R: Use git config --global --unset 配置项名称 — por exemplo, git config --global --unset user.name — para excluir a configuração global do nome de usuário.

P: Os arquivos de configuração podem ser editados manualmente?

R: Sim. O arquivo de configuração é um arquivo de texto simples, portanto, você pode abri-lo e editá-lo diretamente em um editor de texto. No entanto, recomendamos usar o comando git config para evitar erros de sintaxe.


📖 Resumo


📝 Exercícios

  1. Exercício básico (Dificuldade: ⭐): Configure suas credenciais globais do Git (nome de usuário e endereço de e-mail) e verifique se a configuração foi bem-sucedida.

  2. Exercício avançado (Dificuldade: ⭐⭐): Defina pelo menos três opções de configuração úteis (como nomes de branches padrão, saída colorida e aliases de comandos) e explique a finalidade de cada opção.

  3. Desafio (Dificuldade: ⭐⭐⭐): Crie um repositório de teste, configure uma identidade local nesse repositório (diferente da identidade global), verifique se a configuração local substitui a configuração global e explique as regras de prioridade.

Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%