O modelo do Git
Branches: o que elas realmente são
Um ponteiro móvel — e por que isso torna tudo barato.
O que é?
Uma branch é um ponteiro para um commit. Não é uma cópia do projeto, não é uma pasta, não é um espaço separado. É literalmente um nome guardando um identificador de commit — e é por isso que criar uma branch é instantâneo e praticamente não ocupa espaço.
Por que existe?
Branches existem para permitir trabalhar em algo sem afetar o que está funcionando. Você desenvolve uma funcionalidade nova enquanto a versão estável continua intacta, e outra pessoa corrige um defeito urgente ao mesmo tempo, sem que ninguém atrapalhe ninguém.
Em outros sistemas de versionamento, ramificar era caro — copiava-se o projeto inteiro — e por isso era evitado. No Git, criar uma branch é escrever um identificador num arquivo. Essa diferença de custo mudou a forma de trabalhar: ramificar deixou de ser evento raro e virou rotina, uma branch por tarefa.
No mundo real
Imagine um livro de escolher a própria aventura, em que cada página registra qual foi a anterior. Uma branch é um marcador de página: não duplica o livro, apenas indica onde você está.
Criar um marcador novo custa nada. Você pode ter dez marcadores em pontos diferentes da mesma história — e é exatamente isso que permite trabalhar em várias coisas ao mesmo tempo sem confundir uma com a outra.
Onde isso é usado
Uma branch por tarefa é o padrão em qualquer equipe. É o que permite revisar cada mudança isoladamente, testar antes de integrar, e abandonar um caminho sem prejuízo. E entender que branch é ponteiro é o que torna compreensíveis operações que parecem mágicas — merge, rebase e reset apenas movem ponteiros e criam commits.
O que aprender depois
Duas branches divergiram e agora precisam voltar a ser uma. O próximo módulo trata das duas formas de fazer isso, dos conflitos que surgem e de como desfazer quando algo dá errado.
Agora pratique
5 itens. Ler não fixa; responder fixa.