08 — En el proyecto
Cambios locales y remotos
Revisar, preparar, confirmar y sincronizar desde el panel Git.
En esta página
Leer el estado
Ctrl+Alt+B abre Git. Usa el ejecutable Git del sistema y muestra rama, upstream, ahead/behind y cambios agrupados en staged y locales. Un mismo archivo puede aparecer en ambos grupos. Sin remoto significa que no pudo resolver el upstream, no necesariamente ausencia de remotes.
Si la carpeta abierta pertenece a un repositorio, OEC conserva ese ámbito (incluida una subcarpeta). Si no pertenece a Git, busca repositorios anidados no ignorados, omitiendo node_modules, .git y enlaces: uno se selecciona automáticamente; varios aparecen en una lista navegable con Enter. Sin repositorios o sin Git, la integración aparece no disponible.
Repositorios anidados
Con varios repositorios, Esc desde cambios locales regresa a la lista; Enter selecciona otro. F8/F9, fetch, stage, commit, pull y push trabajan sobre el seleccionado. Los archivos y diffs usan rutas relativas a ese repositorio, pero F4 y el descarte ubican los archivos dentro de la carpeta abierta; las pestañas diff diferencian repositorios.
El descubrimiento solo inspecciona subdirectorios con una entrada .git detectada; no recorre por debajo de un repositorio hallado ni detecta repositorios solo mediante un worktree externo sin .git en esa carpeta. No mezcla cambios de repositorios en un único 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 watcher de autoRefresh observa la carpeta abierta con debounce, aun antes de seleccionar un repositorio anidado; no consulta el servidor periódicamente y omite eventos internos .git/. Fetch/pull/push no tienen timeout o cancelación propios. Las operaciones heredan hooks, filtros y helpers Git.
| Acción | Comportamiento |
|---|---|
| F5 | Fetch según configuración y lectura local incluso ante fallo de fetch; refresca historial/ramas activos. |
| F6 | git pull con configuración de Git. Puede modificar el repositorio completo. |
| F7 | git push con remoto y credenciales externos. No hay selector de remoto en OEC. |
Fuentes del capítulo
Enlaces fijados al commit revisado; no siguen main.