Até agora, você tem trabalhado na linha principal do seu projeto, geralmente chamada de main (ou master). No entanto, a verdadeira magia do Git para desenvolvimento em equipe e experimentação reside no conceito de branches, ou ramificações. Neste capítulo, vamos entender o que são branches, por que são tão cruciais e como usá-las para criar novas funcionalidades, corrigir bugs e, finalmente, integrar seu trabalho.


4.1 O Que São Branches e Por Que Usá-las? 🌱

Pense em uma branch como uma linha de desenvolvimento independente dentro do seu projeto. Quando você cria uma branch, você está essencialmente tirando uma "cópia" do estado atual do seu projeto (do commit onde você estava) para trabalhar em algo novo, sem afetar a linha principal.

Imagine seu projeto como uma árvore. A main (ou master) é o tronco principal, que deve ser sempre estável e funcionando. Quando você precisa adicionar uma nova funcionalidade (digamos, um sistema de login), você não vai trabalhar diretamente no tronco. Em vez disso, você cria um novo "galho" (uma branch) a partir do tronco. Você trabalha nesse galho, faz seus commits lá, e o tronco permanece intocado e seguro. Quando a funcionalidade estiver pronta e testada, você pode "fundir" (merge) esse galho de volta no tronco.

Por que usar branches?

Principais fatores:


4.2 Comandos Essenciais de Branches 🧭

Vamos aos comandos práticos para gerenciar suas branches.

4.2.1 Criando uma Nova Branch (git branch <nome-da-branch>) ➕

Para criar uma nova branch, use o comando git branch seguido do nome que você deseja dar a ela. Por convenção, nomes de branches devem ser descritivos e curtos (ex: feature/login, bugfix/tela-inicial, refactor/banco-de-dados).

  1. Crie uma nova branch para uma funcionalidade de login: Neste momento, você criou a branch, mas ainda está na main.

    git branch feature/login
    

4.2.2 Listando Branches (git branch) 📋

Para ver todas as branches existentes no seu repositório (locais), use:

git branch

Você verá uma lista de branches, e a branch em que você está atualmente será marcada com um asterisco (*).

  feature/login
* main

Nesse exemplo, você tem duas branches, e a main é a ativa, ou seja, a que tem o símbolo * na frente..

4.2.3 Alternando Entre Branches (git checkout <nome-da-branch>) 🔄