Git Branches

1 min

Índice

  1. Por que as Branches?
  2. Branches em ação
  3. Merge vs Rebase
  4. Comandos essenciais
  5. Workflow recomendado

1. Por que as Branches?

Problema sem branches:

  • Toda a gente codifica em main
  • Caos total, conflitos permanentes
  • Código partido em permanência

Solução: Branches!

  • main = sempre estável
  • feature-login = desenvolve o início de sessão
  • feature-api = um colega desenvolve a API
  • hotfix-bug = correção urgente

Cada um no seu canto, merge quando estiver pronto!

Voltar ao índice

2. Branches em ação

bash
mkdir demo-branches && cd demo-branches
git init

# Base de partida
echo "print('App v1.0')" > app.py
git add . && git commit -m "Versão inicial"

# Criar e ir para uma nova branch
git checkout -b feature-login
echo "print('Login system')" > login.py
git add . && git commit -m "Add login"

# Voltar a main
git checkout main
echo "print('App v1.1')" > app.py  
git add . && git commit -m "Update main"

# Ver todas as branches
git branch --all

# Fundir a feature
git merge feature-login

Resultado: os 2 desenvolvimentos estão combinados!

Voltar ao índice

3. Merge vs Rebase

MERGE:

bash
git merge feature-branch    # Cria um commit de merge
  • Histórico: mostra que 2 branches foram combinadas
  • Seguro e simples

REBASE:

bash
git rebase main             # "Desloca" os seus commits depois de main
  • Histórico: linear, limpo
  • Mais complexo

Recomendação: comece por MERGE!

Voltar ao índice

4. Comandos essenciais

ComandoAção
git branchListar as branches
git checkout -b <nom>Criar + ir para a branch
git checkout <nom>Mudar de branch
git merge <branche>Fundir uma branch
git branch -d <nom>Apagar a branch
git push origin <nom>Enviar a branch

Voltar ao índice

5. Workflow recomendado

Workflow simples e eficaz:

  1. Nova feature:

    bash
    git checkout main
    git pull
    git checkout -b feature-nouvelle-fonctionnalite
  2. Desenvolver:

    bash
    # Código, código, código...
    git add .
    git commit -m "Feature terminée"
  3. Fundir:

    bash
    git checkout main
    git merge feature-nouvelle-fonctionnalite
    git branch -d feature-nouvelle-fonctionnalite  # Limpar

É tudo! Branches = organização e limpeza.

Voltar ao índice