Git — Fluxo de Trabalho
Comandos rápidos estão em Bash & Scripts. Aqui o foco é o fluxo de trabalho em equipe.
Feature branch workflow
O modelo mais comum: main sempre estável, cada funcionalidade em seu branch.
git checkout main
git pull origin main
git checkout -b feature/login # cria branch da feature
# ... trabalha, commita ...
git add .
git commit -m "feat: adiciona tela de login"
git push -u origin feature/login # sobe o branch
# abre um Pull Request no GitHub → revisão → merge na main
Conventional Commits
Padrão de mensagens que facilita changelog e versionamento:
feat: nova funcionalidade
fix: correção de bug
docs: documentação
refactor: refatoração (sem mudar comportamento)
test: testes
chore: tarefas de manutenção, build, deps
Exemplo: git commit -m "fix: corrige timeout na conexão BGP"
Sincronizar com a main (rebase)
Mantém o histórico linear antes de abrir o PR:
git checkout feature/login
git fetch origin
git rebase origin/main
# resolve conflitos, se houver:
git add . && git rebase --continue
Desfazer coisas
git restore arquivo.py # descarta mudanças não commitadas
git restore --staged arquivo.py # tira do stage (mantém no disco)
git reset --soft HEAD~1 # desfaz último commit, mantém arquivos
git reset --hard HEAD~1 # desfaz commit E arquivos (cuidado!)
git revert <hash> # cria commit que reverte outro (seguro em equipe)
Stash (guardar trabalho temporário)
git stash # guarda mudanças e limpa a árvore
git stash list
git stash pop # recupera e remove do stash
.gitignore essencial
# Segredos e ambiente
.env
*.key
*.pem
secrets/
# Terraform
.terraform/
*.tfstate
*.tfstate.backup
# Python
__pycache__/
venv/
*.pyc
# Sistema
.DS_Store
Boas práticas
- Commits pequenos e com propósito único.
- Nunca commite segredos — se acontecer, rotacione a credencial (o histórico do Git guarda tudo).
mainprotegida: merge só via PR com revisão e CI verde.- Puxe (
pull) antes de começar a trabalhar.
Veja também: GitHub Actions · Bash & Scripts