Problema sem branches:
mainSolução: Branches!
main = sempre estávelfeature-login = desenvolve o início de sessãofeature-api = um colega desenvolve a APIhotfix-bug = correção urgenteCada um no seu canto, merge quando estiver pronto!
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-loginResultado: os 2 desenvolvimentos estão combinados!
MERGE:
git merge feature-branch # Cria um commit de mergeREBASE:
git rebase main # "Desloca" os seus commits depois de mainRecomendação: comece por MERGE!
| Comando | Ação |
|---|---|
git branch | Listar 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 |
Workflow simples e eficaz:
Nova feature:
git checkout main
git pull
git checkout -b feature-nouvelle-fonctionnaliteDesenvolver:
# Código, código, código...
git add .
git commit -m "Feature terminée"Fundir:
git checkout main
git merge feature-nouvelle-fonctionnalite
git branch -d feature-nouvelle-fonctionnalite # LimparÉ tudo! Branches = organização e limpeza.