Categoria

Git

Bisect: encontrando o commit que introduziu um bug
Git

Bisect: encontrando o commit que introduziu um bug

O Git Bisect é uma ferramenta de busca binária automatizada que percorre o histórico de commits de um repositório para identificar exatamente qual commit introduziu um bug ou comportamento indesejado. Em vez de verificar manualmente dezenas ou centenas de commits, o bisect reduz o problema a uma complexidade O(log n), onde n é o número de commits entre o ponto "bom" (sem o bug) e o ponto "ruim" (com o bug).

05/05/2026
Branch permissions granular: protegendo paths específicos
Git 05/05/2026

Branch permissions granular: protegendo paths específicos

Em repositórios Git tradicionais, a proteção de branches opera no modelo binário: uma branch está protegida ou não. Quando ativada, todas as alterações na branch principal exigem revisão, independentemente do conteúdo. Esse modelo "tudo-ou-nada" cria riscos significativos em cenários onde paths específicos dentro do repositório são críticos — como arquivos de CI/CD, secrets de infraestrutura ou configurações de deploy.

Branch strategies: Git Flow
Git 05/05/2026

Branch strategies: Git Flow

O Git Flow foi proposto por Vincent Driessen em 2010, em um artigo seminal intitulado "A successful Git branching model". O modelo rapidamente se tornou uma das estratégias de branching mais adotadas no desenvolvimento de software, especialmente em projetos que seguem ciclos de release planejados e previsíveis.

Branch strategies: GitHub Flow e Trunk-Based Development
Git 05/05/2026

Branch strategies: GitHub Flow e Trunk-Based Development

Estratégias de branch no Git são padrões organizacionais que definem como os desenvolvedores criam, nomeiam, fundem e mantêm branches ao longo do ciclo de desenvolvimento de software. O objetivo principal é garantir organização, permitir paralelismo no trabalho e manter a estabilidade do código principal.

Branches: o conceito central do Git
Git 05/05/2026

Branches: o conceito central do Git

No Git, uma branch é, essencialmente, um ponteiro leve e móvel para um commit específico. Diferente de outros sistemas de controle de versão que copiam arquivos inteiros para criar ramificações, o Git trata branches como simples referências de 41 bytes (40 caracteres do hash SHA-1 mais uma quebra de linha). Quando você faz um novo commit, o ponteiro da branch atual avança automaticamente para apontar para esse novo commit.

Cache de dependências no CI: reutilizando node_modules, vendor, etc.
Git 05/05/2026

Cache de dependências no CI: reutilizando node_modules, vendor, etc.

Em ambientes de Integração Contínua (CI), cada execução de pipeline normalmente começa com um ambiente limpo. Isso significa que todas as dependências precisam ser baixadas e instaladas do zero — um processo que pode consumir de 2 a 10 minutos em projetos médios e até 30 minutos em monorepos complexos. O problema se agrava quando multiplicamos esse tempo por dezenas de execuções diárias, resultando em custos elevados de computação e desperdício de banda de rede.

Audit log: rastreando ações em repositórios corporativos
Git 05/05/2026

Audit log: rastreando ações em repositórios corporativos

Em ambientes corporativos, o Git vai além do controle de versão: ele se torna um ativo crítico que exige rastreabilidade completa. O audit log (log de auditoria) é o registro cronológico e imutável de todas as ações realizadas em um repositório, essencial para conformidade com normas como LGPD, SOX e PCI-DSS.

Auto-merge: configurando merge automático com condições
Git 05/05/2026

Auto-merge: configurando merge automático com condições

O auto-merge é uma funcionalidade que permite que pull requests ou merge requests sejam mesclados automaticamente assim que todas as condições pré-definidas forem atendidas. Diferentemente do merge manual (onde um desenvolvedor precisa clicar em "merge" após verificar tudo) e do merge automático simples (que mescla sem validações), o auto-merge condicional executa a mesclagem apenas quando critérios específicos são satisfeitos.

Aliases do Git: atalhos para comandos frequentes
Git 05/05/2026

Aliases do Git: atalhos para comandos frequentes

Aliases no Git são atalhos personalizados que permitem substituir comandos longos e complexos por versões abreviadas e fáceis de lembrar. Em vez de digitar git status toda vez, você pode configurar git st e economizar segundos preciosos a cada iteração. Com o tempo, essa economia se acumula em horas de produtividade.

Amend: corrigindo o último commit
Git 05/05/2026

Amend: corrigindo o último commit

O comando git commit --amend é uma ferramenta do Git que permite modificar o commit mais recente do branch atual. Diferente de um commit normal que adiciona um novo ponto no histórico, o amend substitui o último commit por um novo, reescrevendo o histórico local.