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.
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.
Principais fatores:
Vamos aos comandos práticos para gerenciar suas branches.
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).
Crie uma nova branch para uma funcionalidade de login:
Neste momento, você criou a branch, mas ainda está na main.
git branch feature/login
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..
git checkout <nome-da-branch>) 🔄