Todos los packs
StableDevOpsgit
Git Workflow Practice
Operationalizes disciplined git usage: commit hygiene, branching strategy, and history practices that keep a repository's history a useful record rather than noise.
gitversion-controlbranchingcommitsconventional-commits
Principios
- · GT1 — Commits are atomic: one logical change per commit, each independently reviewable and (ideally) revertable.
- · GT2 — Commit messages state the why, not just the what; a conventional-commits-style prefix (feat:, fix:, refactor:) aids scanning history.
- · GT3 — Feature branches are short-lived (days, not weeks); long-running branches are rebased/merged from main frequently to minimize conflict risk.
- · GT4 — Force-push is used only on branches not shared with others, or with explicit team coordination.
- · GT5 — Sensitive data (secrets, credentials) never enters history — even a later "removal" commit leaves it in history forever without a rewrite.
Patrones
- · A commit touching unrelated files/concerns → split into separate commits before pushing.
- · A commit message that's just "fix" or "wip" → rewrite to state what and why before it becomes permanent history.
- · A feature branch alive for weeks with major drift from main → rebase/merge from main now, don't wait for a painful conflict later.
- · About to force-push → check if anyone else has pulled this branch first.
- · Accidentally committed a secret → rotate the secret immediately; history rewrite alone isn't sufficient if it was ever pushed.
Riesgos
- · "wip" / "fix" commit messages — permanent history with no useful information for future archaeology.
- · Mega-commits — one commit touching 60 files across unrelated features, impossible to review or bisect meaningfully.
- · Committed secrets — API keys/passwords committed then "removed" in a later commit, still fully present in history for anyone who clones.
- · Force-push to shared branches — rewriting main/shared branch history, breaking every collaborator's local checkout silently.
- · Weeks-long feature branches — massive drift from main producing a merge-conflict nightmare at integration time.
Checklist
- [ ] No secrets/credentials in commit history. (GT-E3)
- [ ] Commits are atomic, no unrelated changes mixed. (GT-E2)
- [ ] Commit messages follow type: description format with why explained. (GT-E1)
- [ ] No force-push to shared/main branches. (GT-E4)
- [ ] Consistent merge strategy across the repo. (GT-E5)
- [ ] .gitignore configured appropriately from project start. (GT-E6)
Fuentes
En la bibliografía AKOS
Este pack cita las siguientes fuentes registradas en el índice bibliográfico:
Explorar todas las fuentes →