Comandos Esenciales de Git
El conjunto de comandos de Git de uso diario para equipos de Python: desde clonar hasta confirmar y enviar, además de los comandos de inspección que agilizan la depuración del historial.
Busca en todas las páginas de la documentación
El conjunto de comandos de Git de uso diario para equipos de Python: desde clonar hasta confirmar y enviar, además de los comandos de inspección que agilizan la depuración del historial.
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-taxCuándo usar esto:
main# Clonar y configurar la identidad (una 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"
# Bucle diario
git checkout main
git pull --rebase origin main
git checkout -b feat/bill-42-tax
# ... editar archivos Python ...
uv lock # si las dependencias cambiaron
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-taxLo que esto demuestra:
status -sb corto para resumen de rama y elementos preparadosgit add prepara instantáneas en el índice.origin típicamente GitHub/GitLab; fetch descarga referencias sin fusionar.HEAD es el checkout actual.| Tarea | Comando |
|---|---|
| ¿Qué cambió? | git status, git diff, git diff --staged |
| Historial | git log --oneline -20, git log -p file.py |
| Deshacer preparación | git restore --staged file.py |
| Descartar ediciones | git restore file.py |
| Guardar trabajo en progreso (WIP) | git stash push -m "wip tax" |
| Actualizar rama | git pull --rebase origin main |
# Ver quién tocó por última vez una prueba fallida
git blame tests/test_tax.py
# Encontrar el commit que cambió la tasa de IVA predeterminada
git log -S "DEFAULT_VAT" --oneline -- src/git add . captura secretos - .env se cuela en los commits. Solución: .gitignore + git add -p para repositorios sensibles.uv sync --frozen falla. Solución: siempre uv lock con ediciones de pyproject.toml.pull en características - Historial ruidoso. Solución: pull --rebase en ramas privadas.--force-with-lease solo en tu feat/* antes de la revisión..venv/ o __pycache__/. Solución: gitignore global para artefactos de Python.git commit --amend o squash antes del PR.| Alternativa | Usar Cuando | No Usar Cuando |
|---|---|---|
| GitHub Desktop / GitKraken | Preferencia por diff visual | Flujos de trabajo de scripting y SSH de servidor |
jj (Jujutsu) | Experimentando con VCS | El estándar del equipo es la CLI de Git |
| Panel git de IDE | Preparación rápida | Aprendiendo a resolver conflictos de rebase |
gh pr create | PR desde la terminal | Necesitas tener instalada la CLI de GitHub |
Rebase sobre main para un historial de PR limpio en ramas privadas; merge en ramas de lanzamiento compartidas según la política del equipo.
git reset --soft HEAD~1 mueve HEAD un commit hacia atrás manteniendo los archivos preparados.
Asunto imperativo, ID de ticket, cuerpo explicando el porqué - consulta Convenciones y Guía de Estilo.
Sí, cuando el equipo usa pyenv/mise - documenta el pin del intérprete junto con requires-python.
git branch -r después de git fetch --prune elimina las ramas de seguimiento remoto obsoletas.
git reflog luego git checkout -b feat/x <sha> dentro de la ventana predeterminada de 90 días.
git diff origin/main...HEAD muestra el delta del PR en estilo de tres puntos.
git tag -a v1.2.0 -m "release 1.2.0" luego git push origin v1.2.0 cuando la etiqueta activa el despliegue.
git clone --recurse-submodules para repositorios que gestionan dependencias nativas - raro en servicios puramente de Python.
Configura la firma SSH o GPG cuando la política de la organización lo requiera - git log --show-signature verifica.
Versiones de la Pila: Esta página fue escrita para Python 3.14.0 (estable 3.14, mantenimiento 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+, y uv 0.6+.
Revisado por Chris St. John·Última actualización: 16 jul 2026