Git · ChangeSet
Blyck ofrece el control de versiones en dos capas. Git para los archivos y ChangeSet para seguir incluso lo que Git no ve (BD · SSH · paquetes), de modo que, cambie lo que cambie, puedas comprobarlo y revertirlo.
Abre la ventana del historial de cambios con Ctrl+Shift+H, o también con clic en el chip 📦 ChangeSet de la parte inferior del Chat con IA: se abre la misma ventana.
Paquete MinGit — no necesitas instalar git
Sección titulada «Paquete MinGit — no necesitas instalar git»Las builds de Windows incluyen MinGit. Si hay git instalado en el sistema, se usa ese de forma prioritaria; si no, se hace fallback automático al MinGit incluido. Incluso en un PC en el que nunca se ha instalado git, los commits·push·ChangeSet funcionan todos.
ChangeSet — un historial único de todos los cambios
Sección titulada «ChangeSet — un historial único de todos los cambios»Los cambios que ocurren en el proyecto se registran en un solo lugar, sin distinción de tipo. Sin procedimientos de bloqueo ni checkout, entran automáticamente en el momento en que se produce el cambio. Las operaciones de solo lectura (SELECT · file_read · ls) no se registran.
| Tipo | Contenido registrado |
|---|---|
| Archivo | Contenido antes/después, hora, origen (👤 persona / ✨ IA) |
| DB DDL | SQL original, SQL inverso autogenerado, riesgo |
| DB DML | SQL original, número de filas afectadas, filas de respaldo previas para reversión |
| Ejecución SSH | Comando ejecutado, servidor, parte de la salida, riesgo |
| Paquetes | Nombre del paquete, runtime |
Abrir la ventana: Ctrl+Shift+H o el chip 📦 de la parte inferior del Chat con IA. Con el toggle [Todos los cambios | Esta tarea] alternas entre el historial completo y el ámbito de la tarea del chat actual.
Estructura de pestañas
Sección titulada «Estructura de pestañas»La ventana de ChangeSet se compone de tres pestañas.
Pestaña Cambios
Sección titulada «Pestaña Cambios»Muestra juntos los archivos sin commit (basado en git status) y los cambios de BD·SSH·paquetes (basado en el historial). Puedes seleccionar un elemento y ejecutar la reversión.
- Archivos sin commit →
git checkout(descartar modificación) o eliminar el archivo nuevo - Cambios de BD → ejecutar el SQL inverso autogenerado
- Cambios de SSH → si se puede inferir el comando inverso, se propone automáticamente
Pestaña Historial de commits
Sección titulada «Pestaña Historial de commits»Muestra la lista de commits basándose en git log. Al hacer clic en un elemento ves el diff git show de ese commit, y con el botón [Revertir este commit] ejecutas git revert (conserva el historial, no es sobrescritura forzada).
Pestaña Despliegue
Sección titulada «Pestaña Despliegue»Los cambios de archivos se exportan con git push, y los cambios de BD como scripts de migración SQL.
- Verificación (verify) — comprueba UPDATE/DELETE sin WHERE, DDL peligrosos (
DROP· añadirNOT NULL), tests ausentes para funciones nuevas, etc. - Exportación (export) — exporta como scripts de migración SQL, un conjunto de comandos git para el PR, o JSON. Úsalo para organizar el trabajo hecho en la BD de desarrollo de cara a aplicarlo en producción.
Reversión
Sección titulada «Reversión»Puedes seleccionar cualquier elemento del historial y revertirlo.
| Tipo | Método de reversión |
|---|---|
| Archivo | Restaura el contenido previo al cambio |
| DDL | Ejecuta el SQL inverso autogenerado (CREATE↔DROP, ADD COLUMN↔DROP COLUMN) |
| DML | Restaura desde las filas respaldadas justo antes de ejecutar (respaldo de capa 1/capa 2, ver más abajo) |
| SSH | Si se puede inferir el comando inverso, se propone automáticamente (mkdir↔rmdir); si no, guía manual |
Respaldo automático de DML (capa 1 / capa 2)
Sección titulada «Respaldo automático de DML (capa 1 / capa 2)»Antes de que la IA ejecute un DML, crea automáticamente un respaldo.
- Capa 1 — cuando es tabla única·WHERE parseable·PK·≤1000 filas: guarda el JSON de las filas previas al cambio en
dml_backupde la BD de historial (blyck-history.db). Al revertir, restaura al instante. - Capa 2 — cuando es masivo·consulta compleja·sin PK: crea una tabla de respaldo (
blyck_bak_…) dentro de la BD destino para conservarlas. Una vez completada la reversión, la tabla de respaldo se elimina automáticamente.
Salvaguardas
Sección titulada «Salvaguardas»- Vista previa de la operación inversa antes de ejecutar + modal de confirmación —
DROP/DELETEcon advertencia roja - Si reviertes un elemento intermedio, advertencia “se sobrescribirán los N cambios posteriores”
- Si el valor actual difiere del valor registrado (volvió a cambiar en otro lugar), se vuelve a confirmar si forzar
- La propia reversión también se registra como un nuevo elemento del historial — es posible revertir la reversión
Política de retención del historial
Sección titulada «Política de retención del historial»El historial se guarda en %APPDATA%\Blyck\blyck-history.db.
| Política | Criterio |
|---|---|
| Máximo de retención por objetivo | Los 40 elementos más recientes |
| Ciclo de limpieza automática | Eliminar elementos con más de 14 días |
| Límite de tamaño de la BD | 2 GB |
| Límite de tamaño de archivo individual | Los archivos de más de 1 MB se excluyen del registro |
Operaciones de Git
Sección titulada «Operaciones de Git»Ejecuta las operaciones de Git desde la pestaña Historial de commits de la ventana de ChangeSet o desde la paleta de comandos (Ctrl+Shift+P).
| Operación | Descripción |
|---|---|
| Punto de control | Crea un punto de guardado automático intermedio como un commit con marca de tiempo. Puedes volver a él en cualquier momento durante un experimento. |
| Commit por unidad de tarea | Reúne en un único commit los cambios de archivos·BD·SSH producidos en el chat (tarea) actual. Con el botón ✨ genera automáticamente un mensaje de commit con IA. |
| Commit selectivo / commit completo | Elige archivos para hacer commit o haz commit de todo de una vez. |
| diff | Compara según el criterio que quieras: árbol de trabajo, un commit concreto, entre dos commits, el ámbito de una tarea concreta, etc. |
| discard | Descarta los cambios del árbol de trabajo. |
| log | Consulta el historial de commits. |
| push | Envía la rama actual al repositorio remoto. |
Integración con GitHub
Sección titulada «Integración con GitHub»Inicia sesión con el device flow de OAuth de GitHub. Basta con introducir un código una vez en el navegador para completarlo, y el token se conserva cifrado en el almacén de credenciales del SO (safeStorage).
Cómo integrarlo
Sección titulada «Cómo integrarlo»- Paleta de comandos (
Ctrl+Shift+P) → “Iniciar sesión en GitHub” o el botón GitHub en la parte superior de la ventana de ChangeSet - Cuando se abra el navegador, introduce el código mostrado para autenticarte
- Una vez completado, la autenticación de push/pull se gestiona automáticamente
Operaciones disponibles tras la integración
Sección titulada «Operaciones disponibles tras la integración»| Operación | Descripción |
|---|---|
| Publish | Crea el proyecto local como un repositorio nuevo en GitHub y lo sube |
| Clone | Clona un repositorio de GitHub a una carpeta local |
| Link | Vincula un repositorio local existente con un repositorio de GitHub |
Tras la integración, la autenticación de push/pull se gestiona automáticamente. Como el token se guarda cifrado en el almacén de credenciales del SO, no necesitas iniciar sesión cada vez.
Funciones relacionadas
Sección titulada «Funciones relacionadas»- Chat con IA — los cambios que crea la IA también se registran automáticamente en ChangeSet
- Editor de código — registro en el historial al guardar archivos, también se siguen las ediciones con IA en línea
- Cliente de BD — generación automática de SQL inverso·respaldo al ejecutar DDL/DML
- Terminal · SSH · SFTP — registro del historial de comandos SSH ejecutados
Preguntas frecuentes
Sección titulada «Preguntas frecuentes»P. No tengo git instalado, ¿puedo hacer commit? Las builds de Windows incluyen MinGit, así que puedes hacer commit·push sin instalación aparte.
P. Un archivo que modificó la IA no aparece en ChangeSet. Los archivos que la IA modifica con sus Edit/Write integrados no pasan por la ruta file_write de Blyck, así que no se registran directamente en el historial. Sin embargo, como git reconoce el cambio, sí aparecen en la lista de archivos sin commit de la pestaña Cambios.
P. Ejecuté un DML por error, ¿puedo revertirlo?
Sí. Antes de ejecutar el DML se crea un respaldo automático (capa 1: BD de historial, capa 2: tabla de respaldo en la BD destino), así que puedes restaurar con Ctrl+Shift+H → el elemento correspondiente → Revertir. Los UPDATE/DELETE sin WHERE también se restauran.
P. ¿Qué hago si hice una reversión por error?
La propia reversión también se registra como un nuevo elemento del historial. Si vuelves a Ctrl+Shift+H y reviertes ese elemento de “reversión”, se restaura el estado original.
P. Quiero deshacer un commit concreto del historial de commits.
En la pestaña Historial de commits, clic en el commit correspondiente → al pulsar el botón [Revertir este commit] se ejecuta git revert. Se conserva el historial y se añade un nuevo commit de revert.
P. ¿Por qué a veces no se puede revertir un comando SSH?
Solo se propone automáticamente cuando el comando inverso se puede inferir de forma automática (mkdir↔rmdir, etc.). Los comandos con efectos secundarios hay que tratarlos manualmente.
P. Mi inicio de sesión con device flow de GitHub ha caducado. Basta con volver a ejecutar “Iniciar sesión en GitHub” en la paleta de comandos para reautenticarte. Después, push/pull vuelven a gestionarse automáticamente.
P. El archivo de la BD de historial se ha vuelto demasiado grande.
%APPDATA%\Blyck\blyck-history.db se gestiona con un límite de 2 GB y una política de limpieza automática a los 14 días. Los archivos grandes (más de 1 MB) se excluyen del registro. Para limpiar de inmediato, reinicia la app y se ejecutará la rutina de limpieza.