Categoria

Git e Controle de Versão

Truques para fazer rollback rápido com git tags em produção
Git e Controle de Versão

Truques para fazer rollback rápido com git tags em produção

Em ambientes de produção, a velocidade de reversão de uma alteração problemática pode significar a diferença entre minutos e horas de downtime. As tags do Git oferecem uma solução elegante e eficiente para esse cenário.

05/05/2026
Sistemas de controle de versão distribuídos: introdução ao Mercurial
Git e Controle de Versão 05/05/2026

Sistemas de controle de versão distribuídos: introdução ao Mercurial

O Mercurial é um sistema de controle de versão distribuído (DVCS) criado por Matt Mackall e lançado em 2005, no mesmo período que o Git. Diferentemente do Git, que prioriza flexibilidade e performance em operações complexas, o Mercurial foi projetado com foco em simplicidade e consistência de comandos, tornando-o mais acessível para iniciantes e equipes que preferem fluxos de trabalho previsíveis.

Monorepo vs multirepo: critérios objetivos para escolher
Git e Controle de Versão 05/05/2026

Monorepo vs multirepo: critérios objetivos para escolher

Monorepo (monolithic repository) é um único repositório que abriga múltiplos projetos, serviços, bibliotecas ou aplicações. Tudo vive no mesmo espaço de versionamento, com um histórico compartilhado. Multirepo (multi-repository) é a abordagem oposta: cada projeto, serviço ou componente tem seu próprio repositório independente, com ciclo de vida, versionamento e permissões próprios.

Gerenciando submódulos no Git sem dor de cabeça
Git e Controle de Versão 05/05/2026

Gerenciando submódulos no Git sem dor de cabeça

Submódulos no Git são referências a outros repositórios incorporadas dentro de um repositório principal. Imagine um projeto que depende de uma biblioteca interna: em vez de copiar o código manualmente, você insere um ponteiro para o repositório dessa biblioteca, mantendo versões específicas e históricos independentes.

Git avançado: rebase interativo, bisect e worktrees que você deveria usar
Git e Controle de Versão 05/05/2026

Git avançado: rebase interativo, bisect e worktrees que você deveria usar

O git rebase -i (modo interativo) é uma ferramenta poderosa que permite reescrever o histórico de commits de forma controlada. Diferente do rebase comum, que apenas move commits para uma nova base, o modo interativo abre um editor com uma lista de commits onde você pode aplicar transformações específicas.

Git Flow vs. Trunk Based Development: qual estratégia de branch usar
Git e Controle de Versão 05/05/2026

Git Flow vs. Trunk Based Development: qual estratégia de branch usar

Estratégias de branch no Git são padrões organizacionais que definem como os desenvolvedores criam, nomeiam e mesclam branches durante o ciclo de vida do software. Escolher a estratégia correta é crucial porque impacta diretamente a velocidade de entrega, a qualidade do código e a colaboração da equipe. Duas abordagens antagônicas dominam o debate atual: Git Flow, com sua estrutura rígida e múltiplos branches, e Trunk Based Development (TBD), que prega simplicidade e integração contínua.

Git hooks com Husky e lint-staged: qualidade automática antes do commit
Git e Controle de Versão 05/05/2026

Git hooks com Husky e lint-staged: qualidade automática antes do commit

Git hooks são scripts executados automaticamente em pontos específicos do ciclo de vida do Git, como antes de um commit (pre-commit) ou antes de um push (pre-push). Eles funcionam como gatilhos que podem validar, transformar ou impedir operações no repositório. Quando combinados com ferramentas de qualidade de código, os hooks se tornam uma barreira eficiente contra erros comuns, garantindo que apenas código padronizado e funcional seja versionado.

Git LFS: gerenciando arquivos binários e assets grandes no repositório
Git e Controle de Versão 05/05/2026

Git LFS: gerenciando arquivos binários e assets grandes no repositório

Repositórios Git tradicionais foram projetados para arquivos de texto e código-fonte. Quando você adiciona binários — texturas de jogos, arquivos PSD, datasets de machine learning, vídeos ou modelos 3D — o repositório incha rapidamente. Cada versão de um arquivo binário de 500 MB é armazenada integralmente, resultando em clones lentos, uso excessivo de disco e operações como git log e git diff se tornando impraticáveis.

Git rebase interativo: reorganizando commits antes de fazer push
Git e Controle de Versão 05/05/2026

Git rebase interativo: reorganizando commits antes de fazer push

O rebase interativo (git rebase -i) é uma ferramenta poderosa do Git que permite reescrever o histórico de commits locais antes de enviá-los para um repositório remoto. Diferentemente do rebase comum, que simplesmente aplica commits sobre outra base, o modo interativo abre um editor onde você pode especificar ações para cada commit envolvido.

Git stash avançado: salvando trabalho incompleto com contexto
Git e Controle de Versão 05/05/2026

Git stash avançado: salvando trabalho incompleto com contexto

O comando git stash padrão é uma ferramenta essencial para desenvolvedores que precisam interromper temporariamente o trabalho em andamento. Quando você executa git stash sem argumentos, o Git salva as modificações no diretório de trabalho e no índice, revertendo o repositório ao estado do último commit. No entanto, essa abordagem básica tem limitações significativas: você perde o contexto do que estava fazendo e, com vários stashes, rapidamente se perde.