计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
commit-changes【效率与协作】Preparar, confirmar y enmendar cambios con mensajes de commit convencionales. Incluye la revisión de cambios, la preparación selectiva, la escritura de mensajes descriptivos usando formato HEREDOC y la verificación del historial de commits. Utilizar al guardar una unidad lógica de trabajo en el control de versiones, al crear un commit con mensaje con…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Preparar archivos de forma selectiva, escribir mensajes de commit claros y verificar el historial de commits.
Verificar el estado del árbol de trabajo e inspeccionar las diferencias:
# See which files are modified, staged, or untracked
git status
# See unstaged changes
git diff
# See staged changes
git diff --staged
Esperado: Visión clara de todos los archivos modificados, preparados y sin seguimiento.
En caso de fallo: Si git status falla, verificar que se está dentro de un repositorio git (git rev-parse --is-inside-work-tree).
Preparar archivos específicos en lugar de usar git add . o git add -A para evitar incluir accidentalmente archivos sensibles o cambios no relacionados:
# Stage specific files by name
git add src/feature.R tests/test-feature.R
# Stage all changes in a specific directory
git add src/
# Stage parts of a file interactively (not supported in non-interactive contexts)
# git add -p filename
Revisar lo preparado antes de confirmar:
git diff --staged
Esperado: Solo los archivos y cambios previstos están preparados. Sin .env, credenciales ni binarios grandes.
En caso de fallo: Quitar archivos añadidos por accidente con git reset HEAD <file>. Si se prepararon datos sensibles, quitarlos inmediatamente antes de confirmar.
Usar el formato de commits convencionales. Siempre pasar el mensaje mediante HEREDOC para un formato correcto:
git commit -m "$(cat <<'EOF'
feat: add weighted mean calculation
Implements weighted_mean() with support for NA handling and
zero-weight filtering. Includes input validation for mismatched
vector lengths.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
EOF
)"
Tipos de commit convencionales:
| Tipo | Cuándo usar |
|---|---|
feat | Nueva funcionalidad |
fix | Corrección de error |
docs | Solo documentación |
test | Agregar o actualizar pruebas |
refactor | Cambio de código que no corrige ni agrega |
chore | Build, CI, actualización de dependencias |
style | Formato, espacios en blanco (sin cambio de lógica) |
Esperado: Commit creado con un mensaje descriptivo que explica el por qué, no solo el qué.
En caso de fallo: Si un hook de pre-commit falla, corregir el problema, volver a preparar con git add y crear un commit nuevo (no usar --amend ya que el commit fallido nunca se creó).
Solo enmendar si el commit no ha sido enviado a un remoto compartido:
# Amend message only
git commit --amend -m "$(cat <<'EOF'
fix: correct weighted mean edge case for empty vectors
EOF
)"
# Amend with additional staged changes
git add forgotten-file.R
git commit --amend --no-edit
Esperado: El commit anterior se actualiza en el lugar. git log -1 muestra el contenido enmendado.
En caso de fallo: Si el commit ya fue enviado, no enmendar. Crear un nuevo commit en su lugar. Forzar el envío de commits enmendados a ramas compartidas causa divergencia en el historial.
# View the last commit
git log -1 --stat
# View recent commit history
git log --oneline -5
# Verify the commit content
git show HEAD
Esperado: El commit aparece en el historial con el mensaje, autor y cambios de archivos correctos.
En caso de fallo: Si el commit contiene archivos incorrectos, usar git reset --soft HEAD~1 para deshacer el commit manteniendo los cambios preparados, y luego confirmar correctamente.
.env)git log muestra el commit con los metadatos correctosgit add . a ciegas: Siempre revisar git status primero. Preferir preparar archivos específicos por nombre.--no-edit al enmendar contenido: Al agregar archivos olvidados al último commit, usar --no-edit para mantener el mensaje existente.--amend: Cuando un hook de pre-commit falla, el commit nunca se creó. Usar --amend modificaría el commit anterior. Siempre crear un nuevo commit después de corregir problemas con hooks.manage-git-branches - flujo de trabajo con ramas antes de confirmarcreate-pull-request - siguiente paso después de confirmarresolve-git-conflicts - manejo de conflictos durante merge/rebaseconfigure-git-repository - configuración y convenciones del repositorio