08 — En el proyecto
Cambios locales y remotos
Revisar, preparar, confirmar y sincronizar desde el panel Git.
En esta página
Leer el estado
F8 abre Git. Usa Git del sistema y muestra rama, upstream, ahead/behind y grupos staged/locales. Una ruta puede aparecer en ambos grupos. Sin remoto significa que no se resolvió el upstream, no necesariamente ausencia de remotes.
Si la carpeta pertenece a un repositorio, conserva ese ámbito. En caso contrario busca repositorios anidados no ignorados, omitiendo node_modules, .git y enlaces: selecciona uno automáticamente o permite elegir entre varios con Enter. Sin repositorios o sin Git no hay integración disponible.
Repositorios anidados
Con varios repositorios, Esc desde cambios vuelve a la lista y Enter elige otro. Shift+F9/F9 abre historial/ramas del seleccionado; fetch, stage, commit, pull y push también usan ese ámbito. Los diffs distinguen repositorios; F4 y descarte resuelven el archivo dentro de la carpeta abierta.
El descubrimiento busca entradas .git sin descender por debajo de un repositorio encontrado. No detecta un worktree externo sin .git en esa carpeta ni combina repositorios en un commit.
De un cambio a un commit
- Guarda el documento. Git y los diffs leen disco/índice, no el buffer pendiente.
- Selecciona un archivo y pulsa Enter para revisar su diff. F4 abre el archivo actual sin cerrar el diff.
- Selecciona archivo, carpeta o grupo de cambios y pulsa + para preparar. En staged, - retira del índice.
- Navega hasta el campo de mensaje, escribe y pulsa Enter. Requiere mensaje no vacío y cambios staged visibles.
Descartar cambios
- sobre cambios locales abre confirmación. Para tracked restaura desde el índice; para untracked elimina archivos. Se bloquea si una pestaña afectada tiene cambios sin guardar. El conjunto se captura al abrir la confirmación.
Un descarte de varios archivos no es transaccional: un fallo intermedio puede dejar parte ejecutada. No hay stage por línea/hunk, resolución especializada de conflictos ni undo Git.
Fetch, pull y push
El pie de Cambios ofrece botones de preparar, retirar, descartar con confirmación, pull, push, historial y ramas. Commit requiere mensaje y cambios staged. Las mutaciones se bloquean en vistas históricas y durante una actividad incompatible. F7/F8 siguen alternando paneles.
autoRefresh observa la carpeta con debounce, sin polling remoto y omitiendo eventos internos .git/. Fetch/pull/push heredan hooks, filtros y helpers de Git; no tienen timeout o cancelación propios.
| Acción | Comportamiento |
|---|---|
| F5 | Fetch según configuración y lectura local incluso si fetch falla; refresca historial/ramas. |
| F6 | git pull con configuración de Git; puede modificar el repositorio completo. |
| Shift+F6 | git push con remoto y credenciales externos; también desde paleta. |
Fuentes del capítulo
Enlaces fijados al commit revisado; no siguen main.