Marcos Max

Wiki Max - TI

View on GitHub

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

Veja também: GitHub Actions · Bash & Scripts