// Documentación de Singularity
El cockpit Git
El cockpit Git reúne el estado del repositorio, la preparación de un commit, la sincronización remota y el historial del proyecto. Cada proyecto tiene su propia pestaña: así mantienes a la vista la rama y los cambios del repositorio correcto.
Abrir el cockpit de un proyecto
En el Navigator, despliega un proyecto y usa su botón Git. También puedes hacer clic derecho en el proyecto y elegir Open Git, o abrir Aperture con ⌘K / Ctrl K y buscar el proyecto o el comando Git.
Singularity abre una pestaña de cockpit vinculada a ese proyecto. Abrir Git desde otro proyecto crea o activa su propia pestaña: los repositorios nunca se mezclan.

Leer el estado del repositorio
La cabecera muestra la rama actual. Los indicadores ahead (por delante) y behind (por detrás) comparan esta rama con su rama upstream: por delante corresponde a los commits locales pendientes de publicar; por detrás, a los commits remotos pendientes de integrar.
Los cambios se separan en Staged Files (contenido del próximo commit) y Unstaged Files. Los archivos nuevos aparecen como sin seguimiento. Los totales de adiciones y eliminaciones indican el tamaño del diff; selecciona un archivo para leerlo.

Preparar y hacer commit
Usa el botón de un archivo para prepararlo (stage), o la acción del grupo para preparar todos los archivos correspondientes. En el diff, los controles de un bloque permiten también aceptar o rechazar ese bloque: así puedes preparar solo ciertas líneas cuando pertenecen a un bloque seleccionable. Un archivo preparado puede retirarse del índice antes del commit.
En el compositor, escribe un asunto conciso y, si hace falta, un cuerpo separado. Comprueba la selección preparada y pulsa Commit. Solo se registran los cambios preparados; el resto permanece en el árbol de trabajo.
Redactar el mensaje de commit con IA
Una vez preparados los archivos, el botón de destello del compositor pide a tu proveedor de IA un mensaje de commit basado en el diff real. El texto sugerido aparece en el compositor —un título breve y, después, el detalle de los cambios— y una notificación confirma qué agente lo ha redactado. Revísalo, modifícalo si hace falta y haz clic en Commit.
El menú del botón Commit ofrece también amend y la adición de Signed-off-by. El mensaje de un commit existente puede reescribirse de la misma manera desde el grafo. Un indicador ⚡ señala los hooks que se ejecutarán al hacer commit.

Sincronizar con el remoto
Fetch descarga las referencias remotas y actualiza los contadores, sin modificar tus archivos. Pull recupera e integra la rama upstream en la rama actual. Push envía los commits locales al destino configurado; si existen varios repositorios remotos, elige el destino propuesto.
El menú de acciones adicionales ofrece también Pull (rebase), que vuelve a aplicar tus commits locales sobre los commits recuperados. Espera a que termine una operación antes de lanzar otra y resuelve cualquier conflicto que señale Singularity.
Guardar cambios en el stash
Elige Stash all changes para limpiar temporalmente el árbol de trabajo sin crear un commit. Singularity incluye en el stash los archivos con seguimiento, preparados y sin seguimiento, y le asigna un mensaje de trabajo en curso vinculado a la rama.
Pop latest stash restaura el stash más reciente y luego lo retira de la pila, como git stash pop. Si al aplicarlo se producen conflictos, el stash no se pierde: resuélvelos antes de continuar.
Descartar cambios
Estos comandos son destructivos. Discard a file’s changes (descartar los cambios de un archivo) restaura su versión con seguimiento y no se puede deshacer. Trash untracked files (eliminar los archivos sin seguimiento) borra los archivos y carpetas nuevos seleccionados; como Git no tiene ninguna copia de ellos, esta eliminación es irreversible.
Discard all restaura desde HEAD los archivos preparados y modificados, restablece los submódulos con seguimiento, elimina los archivos nuevos y los repositorios anidados y, después, aborta cualquier merge o rebase en curso. Los cambios que pudiera restaurar el autostash de esa cancelación también se eliminan definitivamente. Esta acción es irreversible. Lee la confirmación antes de aceptarla.
Consultar el historial de un archivo
Desde un archivo del cockpit, abre su menú contextual y elige File history. La lista muestra los commits que han modificado esa ruta. Selecciona un commit para ver sus archivos y, a continuación, el archivo deseado para leer el diff entre esa revisión y su versión anterior.
El diff distingue adiciones y eliminaciones y conserva el contexto alrededor de los bloques modificados. El historial es de solo lectura: no modifica ni la rama actual ni el árbol de trabajo.
Preguntas frecuentes
¿Fetch modifica mis archivos?
No. Fetch actualiza las referencias remotas y los contadores de commits por delante y por detrás, sin integrar los commits en tu rama ni modificar el árbol de trabajo.
¿Puedo recuperar un archivo después de Discard all?
No desde Singularity. Esta acción restaura los archivos con seguimiento y elimina los archivos sin seguimiento; la confirmación indica explícitamente que es irreversible.