Comandos Essenciais do Git
O conjunto de comandos Git para uso diário para equipes Python - do clone ao commit e push, mais os comandos de inspeção que tornam a depuração do histórico rápida.
Busque em todas as páginas da documentação
O conjunto de comandos Git para uso diário para equipes Python - do clone ao commit e push, mais os comandos de inspeção que tornam a depuração do histórico rápida.
git status -sb
git diff
git add pyproject.toml uv.lock src/
git commit -m "feat(billing): add tax line item [BILL-42]"
git push -u origin feat/bill-42-taxQuando usar isso:
main# Clonar e configurar identidade (uma vez por máquina)
git clone git@github.com:acme/billing-api.git
cd billing-api
git config user.name "Ada Lovelace"
git config user.email "ada@acme.com"
# Loop diário
git checkout main
git pull --rebase origin main
git checkout -b feat/bill-42-tax
# ... editar arquivos Python ...
uv lock # se as dependências mudaram
git add pyproject.toml uv.lock src/billing/tax.py tests/test_tax.py
git commit -m "feat(billing): add tax line item [BILL-42]"
git fetch origin
git rebase origin/main
git push -u origin feat/bill-42-taxO que isso demonstra:
status -sb curto para resumo de branch e staginggit add adiciona snapshots ao índice.origin tipicamente GitHub/GitLab; fetch baixa referências sem mesclar.HEAD é o checkout atual.| Tarefa | Comando |
|---|---|
| O que mudou? | git status, git diff, git diff --staged |
| Histórico | git log --oneline -20, git log -p file.py |
| Desfazer staging | git restore --staged file.py |
| Descartar edições | git restore file.py |
| Stash WIP | git stash push -m "wip tax" |
| Atualizar branch | git pull --rebase origin main |
# Ver quem tocou por último em um teste falho
git blame tests/test_tax.py
# Encontrar commit que mudou a taxa VAT padrão
git log -S "DEFAULT_VAT" --oneline -- src/git add . pega segredos - .env escapa para commits. Correção: .gitignore + git add -p para repositórios sensíveis.uv sync --frozen falha. Correção: sempre uv lock com edições de pyproject.toml.pull --rebase em branches privados.--force-with-lease apenas em seu feat/* antes da revisão..venv/ ou __pycache__/. Correção: gitignore global para artefatos Python.git commit --amend ou squash antes do PR.| Alternativa | Usar Quando | Não Usar Quando |
|---|---|---|
| GitHub Desktop / GitKraken | Preferência por diff visual | Fluxos de trabalho de script e SSH de servidor |
jj (Jujutsu) | Experimentando com VCS | O padrão da equipe é Git CLI |
| Painel git do IDE | Staging rápido | Aprendendo a resolver conflitos de rebase |
gh pr create | PR do terminal | Você precisa ter o GitHub CLI instalado |
Rebase em main para um histórico de PR limpo em branches privados; merge em branches de release compartilhados de acordo com a política da equipe.
git reset --soft HEAD~1 move o HEAD um commit para trás mantendo os arquivos em staging.
Assunto imperativo, ID do ticket, corpo explicando o porquê - consulte Convenções e Guia de Estilo.
Sim, quando a equipe usa pyenv/mise - documenta o pin do interpretador ao lado de requires-python.
git branch -r após git fetch --prune remove branches de rastreamento remoto obsoletos.
git reflog e então git checkout -b feat/x <sha> dentro da janela padrão de 90 dias.
git diff origin/main...HEAD mostra o delta do PR no estilo de três pontos.
git tag -a v1.2.0 -m "release 1.2.0" e então git push origin v1.2.0 quando a tag aciona o deploy.
git clone --recurse-submodules para repositórios que vendem dependências nativas - raro em serviços puramente Python.
Configure SSH ou GPG para assinar quando a política da organização exigir - git log --show-signature verifica.
Versões da Stack: Esta página foi escrita para Python 3.14.0 (estável 3.14, manutenção 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, e uv 0.6+.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026