Rastrear Configurações com Git

GitBeginner
Pratique Agora

Introdução

Administradores Linux editam arquivos de configuração com frequência. O Git é útil porque registra o que mudou, quando mudou e por que mudou. Mesmo quando um fluxo de trabalho de infraestrutura completo não é necessário, um pequeno repositório Git pode ajudá-lo a rastrear alterações locais de configuração antes e depois de uma edição.

Neste laboratório, você rastreará um pequeno arquivo de configuração chamado app.conf dentro de /home/labex/project. Você inicializará um repositório Git, configurará a identidade do autor local, criará um commit inicial, editará o arquivo, inspecionará as diferenças (diff) e criará um segundo commit. O laboratório utiliza o histórico do Git como um registro durável das alterações de configuração.

Inspecionar o Arquivo de Configuração

Nesta etapa, você inspecionará o arquivo que o Git irá rastrear. Antes de criar um repositório, certifique-se de saber qual arquivo é importante e qual é o seu conteúdo atual.

Entre no diretório do projeto LabEx.

cd /home/labex/project

Liste o arquivo de configuração. A opção -l exibe metadados como tamanho, proprietário e permissões.

ls -l app.conf

Leia o arquivo. Esta configuração utiliza linhas simples do tipo key=value, comuns em configurações de aplicações Linux.

cat app.conf

Você deverá ver log_level=info. Mais tarde, você alterará apenas essa configuração para que o diff do Git permaneça focado.

Inicializar um Repositório Git Local

Nesta etapa, você transformará /home/labex/project em um repositório Git. Um repositório Git armazena o histórico em um diretório oculto chamado .git. O Git também precisa de um nome de autor e um e-mail antes de poder criar commits. Em um ambiente de trabalho real, isso pode ser configurado globalmente, mas em laboratórios é mais seguro configurar a identidade apenas para este repositório.

Inicialize o repositório. A opção -b main cria o branch inicial com o nome explícito main, o que evita que o Git exiba um aviso sobre o branch padrão.

git init -b main

Defina a identidade do autor local. O escopo --local armazena esses valores apenas neste repositório. O terceiro comando desativa a saída colorida do Git dentro deste repositório de laboratório, para que as saídas curtas de status, diff e log sejam mais fáceis de ler no terminal do navegador.

git config --local user.name "LabEx Learner"
git config --local user.email "learner@example.com"
git config --local color.ui false

Execute git status --short. O arquivo deve aparecer como não rastreado (untracked), pois o Git o vê, mas ainda não o está monitorando. Na saída curta de status, ?? significa um arquivo não rastreado.

git status --short

Confirmar a Configuração Inicial

Nesta etapa, você criará o primeiro commit. O Git possui duas áreas principais a serem compreendidas neste ponto: a árvore de trabalho (working tree) e a área de preparação (staging area). A árvore de trabalho são os arquivos que você vê e edita. A área de preparação é o conjunto de alterações que farão parte do próximo commit.

Prepare (stage) apenas o arquivo de configuração. Evite usar git add . enquanto estiver aprendendo, pois isso pode acidentalmente preparar arquivos não relacionados.

git add app.conf

Verifique o status curto novamente. A significa que o arquivo foi preparado como um novo arquivo.

git status --short

Crie o primeiro commit com uma mensagem clara.

git commit -m "Track initial app configuration"

Inspecione o histórico recente. --oneline mantém a saída compacta. A opção --no-pager imprime o log diretamente no terminal em vez de abrir um visualizador interativo.

git --no-pager log --oneline

Revisar e Confirmar uma Alteração de Configuração

Nesta etapa, você editará a configuração e inspecionará a alteração antes de confirmá-la. Este é o hábito fundamental do Git para rastreamento de configurações: faça uma alteração focada, revise o diff e, em seguida, confirme com uma mensagem que explique a intenção.

Altere log_level de info para debug. O comando sed -i edita o arquivo diretamente. O padrão começa com ^ e termina com $ para que altere apenas a linha completa log_level=info.

sed -i 's/^log_level=info$/log_level=debug/' app.conf

Mostre a diferença entre a versão confirmada e sua árvore de trabalho. --no-pager mantém o diff diretamente no terminal.

git --no-pager diff -- app.conf

O diff deve mostrar uma linha removida e uma linha adicionada:

-log_level=info
+log_level=debug

Prepare e confirme a alteração focada.

git add app.conf
git commit -m "Enable debug logging"

Veja o histórico compacto novamente. Agora você deve ver dois commits.

git --no-pager log --oneline

Por fim, verifique se a árvore de trabalho está limpa para app.conf.

git status --short app.conf

Resumo

Você praticou operações básicas do Git para rastreamento de configurações Linux. Você inspecionou um arquivo de configuração, inicializou um repositório, definiu a identidade do autor local, verificou o status, preparou um arquivo específico, criou um commit inicial, revisou um diff focado e confirmou uma alteração de configuração. Esses hábitos ajudam os administradores a entender e recuperar alterações de configuração em vez de editar arquivos às cegas.