Categoria

Git

Git archive: exportando snapshots limpos para deploy
Git

Git archive: exportando snapshots limpos para deploy

O comando git archive é uma ferramenta nativa do Git que permite exportar um snapshot limpo do repositório, sem metadados de versionamento, histórico ou arquivos de configuração internos do Git. Diferentemente do git clone, que baixa o repositório completo com a pasta .git e todo o histórico de commits, o git archive gera um arquivo compactado contendo apenas os arquivos rastreados no momento do snapshot.

05/05/2026
Git attributes: controlando line endings, diff drivers e export-ignore
Git 05/05/2026

Git attributes: controlando line endings, diff drivers e export-ignore

O arquivo .gitattributes é um mecanismo de configuração do Git que permite definir como arquivos específicos devem ser tratados durante operações como commit, checkout, merge e diff. Diferente do .gitignore, que apenas exclui arquivos do versionamento, o .gitattributes controla o comportamento do Git em relação ao conteúdo dos arquivos.

Git bisect run: automatizando busca de regressões com scripts
Git 05/05/2026

Git bisect run: automatizando busca de regressões com scripts

Uma regressão ocorre quando uma funcionalidade que funcionava corretamente em versões anteriores do código passa a apresentar falhas. Em projetos com dezenas ou centenas de commits entre releases, identificar manualmente o commit que introduziu o bug pode consumir horas ou dias de trabalho. Cada tentativa de compilar, testar e verificar manualmente um commit intermediário é propensa a erros humanos e exige atenção constante.

Git blame annotate: entendendo evolução de código linha por linha
Git 05/05/2026

Git blame annotate: entendendo evolução de código linha por linha

No ecossistema Git, git blame e git annotate são comandos equivalentes que permitem rastrear a autoria e a revisão de cada linha de um arquivo, commit por commit. Apesar do nome sugestivo ("culpa" em inglês), a ferramenta não tem propósito acusatório — seu objetivo é fornecer visibilidade sobre quem modificou cada linha, quando e em qual contexto.

Git diff: visualizando mudanças antes de commitar
Git 05/05/2026

Git diff: visualizando mudanças antes de commitar

O git diff é um comando fundamental do Git que permite comparar diferenças entre versões de arquivos no repositório. Ele exibe exatamente o que foi adicionado, removido ou modificado em termos de linhas de código, tornando-se uma ferramenta indispensável para revisar alterações antes de confirmá-las com um commit.

Git e CI/CD: triggers e automações
Git 05/05/2026

Git e CI/CD: triggers e automações

O Git funciona como a única fonte de verdade (single source of truth) para pipelines de CI/CD. Cada commit, branch ou tag representa um estado do código que pode disparar automaticamente uma sequência de ações — desde testes unitários até deploys em produção. A integração entre Git e CI/CD elimina processos manuais e garante que cada alteração seja validada de forma consistente.

Git fetch vs git pull: diferenças importantes
Git 05/05/2026

Git fetch vs git pull: diferenças importantes

Git fetch e git pull são comandos utilizados para sincronizar seu repositório local com um repositório remoto. Embora pareçam similares, suas funções e implicações no fluxo de trabalho são bastante distintas.

Git hooks server-side: enforce policies no repositório remoto
Git 05/05/2026

Git hooks server-side: enforce policies no repositório remoto

Hooks server-side são scripts executados automaticamente no servidor Git durante eventos de push. Diferentemente dos hooks client-side, que rodam na máquina do desenvolvedor e podem ser ignorados ou contornados, os hooks server-side são obrigatórios e centralizados. Eles representam a última barreira antes que alterações entrem no repositório remoto.

Git internals: objects, trees, blobs e commits por dentro
Git 05/05/2026

Git internals: objects, trees, blobs e commits por dentro

Diferente de outros sistemas de controle de versão que armazenam diferenças entre arquivos, o Git funciona como um sistema de arquivos imutável e endereçável por conteúdo. Cada objeto no repositório é identificado unicamente pelo hash SHA-1 do seu conteúdo, e uma vez criado, nunca é modificado.