DEV Community

Cover image for Abraçar mudanças (II)
Hildeberto
Hildeberto

Posted on • Edited on

Abraçar mudanças (II)

Este é o segundo artigo de uma série sobre Git. É um assunto extenso que será dividido em:

I - Controle de versão
II - Configuração
III - O que há por baixo dos panos
IV - Comandos mais comuns
V - Fluxo de trabalho
VI - Serviços Git na web
VII - Contribuindo com código aberto

Configuração

O comando responsável pela configuração é o git config. O Git tem muitos níveis possíveis de configuração. Trataremos aqui: no repositório, no usuário e no sistema.

Esses níveis são expostos por arquivos-texto que contêm as opções de configuração vigentes. As configurações que não estiverem declaradas nesses arquivos, usarão um valor padrão.

Uma configuração no nível do sistema é gravada pelo comando git config --system, seguido do nome da configuração e do seu valor. Esse par "nome-valor" será salvo no arquivo /etc/gitconfig. E necessário ter permissão de superusuário para configurar o Git nesse nível.

Os valores aplicados serão usados para todos os usuários do sistema operacional. Como exemplo, abaixo o comando que utilizará o valor "main" como nome da ramificação principal, na criação de um repositório:

sudo git config --system init.defaultBranch main

A configuração no nível de usuário é gravada pelo comando git config --global, seguido do nome da configuração e do seu valor. Será salva no arquivo ~/.gitconfig ou ~/.config/git/config, a depender do sistema operacional, sendo o ~, o símbolo da pasta padrão do usuário conectado. Os valores aplicados serão usados para o usuário conectado. Exemplos comuns:

git config --global user.name "Hildeberto" e
git config --global user.email "hildeberto@gmail.com"

  • usados para ajustar nome e email que serão usados para atribuir as modificações nos repositórios.

git config --global alias.st 'status'

  • usado para declarar um "alias" (apelido, outra forma de se referir) para o comando "status", que a partir de então pode ser referenciado apenas como "st", ou seja um git st obterá o mesmo resultado que um git status. (falaremos sobre "alias" com mais detalhes)

A configuração no nível de repositório é gravada pelo comando git config --local, seguido do nome da configuração e do seu valor. Será gravado no arquivo .git/config, na pasta do repositório. Os valores aplicados serão usados para aquele repositório específico. Exemplo:

git config --local user.name "Outronome"

  • vai registrar as alterações do repositório com outro nome de usuário, que aquele definido no nível de usuário.

Para obter a configuração vigente para o repositório em que está localizado, use o comando git config --list.

Qualquer configuração pode ser sobrescrita, ajustada por um valor diferente, por uma configuração de nome igual, na seguinte ordem de precedência: repositório, usuário, sistema.

Ou seja, o que é configurado no nível do repositório sobrescreve a mesma configuração no nível de usuário ou do sistema.

Praticamente tudo é configurável no Git. O comando git help --config listará todas as opções de configuração disponíveis. Mais detalhes podem ser obtidos com o comando git help config.

Referência

No próximo artigo, vamos ver como é a ferramenta "por baixo dos panos".

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more