Git Debord es una extensión de Visual Studio Code para iniciar operaciones
avanzadas de Git, como rebase interactivo y cherry-pick, de forma visual
directamente desde el editor.
¿Qué Hace?
La extensión añade los siguientes comandos:
Git Debord: Rebase Interactive
Permite seleccionar visualmente un commit y lanzar un rebase interactivo desde
el editor.
Git Debord: Cherry Pick
Permite seleccionar uno o varios commits, copia el comando cherry-pick seguido
del commit listo en el portapales solo para llevarselo a otra rama.
Funcionalidades del Rebase Interactivo
Al ejecutar Git Debord: Rebase Interactive:
Detecta la carpeta del repositorio Git abierto en VS Code.
Muestra una lista visual de commits recientes.
Permite seleccionar el commit desde el cual reorganizar la historia..
Abre un terminal en VS Code y ejecuta git rebase -i <hash>^ para iniciar el
rebase interactivo desde el commit anterior al seleccionado.
Permite editar el mensaje de los commits.
Es importante aplicar posteriormente un git push o push --force para llevarlo
al repositorio remoto
Funcionalidades del Cherry Pick
Al ejecutar Git Debord: Cherry Pick:
Detecta el repositorio: Obtiene la carpeta del workspace abierto en VS
Code para operar sobre el repositorio Git actual.
Obtiene commits y ramas: Ejecuta comandos git log --oneline y
git branch para listar los commits y ramas disponibles, identificando la
rama actual.
Renderiza la interfaz: Muestra una interfaz visual (Webview) con la lista
de commits y ramas destino disponibles, permitiendo seleccionar múltiples
commits y la rama donde aplicar el cherry-pick.
Valida el estado del repositorio: Antes de ejecutar cualquier acción,
verifica que no haya cambios sin confirmar usando git status --porcelain.
Si hay cambios, muestra un error y detiene el proceso.
Ejecuta el cherry-pick: Cambia a la rama destino seleccionada y aplica,
uno a uno, los commits elegidos mediante git cherry-pick <hash>. Si ocurre
un conflicto, detiene el proceso y muestra un mensaje de error indicando en
qué commit ocurrió el problema y en qué rama quedó el usuario.
Notifica el resultado: Si todo sale bien, informa al usuario cuántos
commits fueron aplicados y recuerda subir los cambios al remoto.
Flujo de Uso
Abre un repositorio Git en VS Code.
Ejecuta el comando deseado desde la paleta de comandos:
Git Debord: Rebase Interactive para reorganizar la historia.
Git Debord: Cherry Pick para aplicar commits seleccionados.
Selecciona los commits y acciones desde la interfaz visual.
Continúa el proceso en el terminal integrado de VS Code.
Alcance Actual
Actualmente, la extensión se centra en facilitar visualmente los flujos de
rebase interactivo y cherry-pick. No reescribe la historia ni resuelve
conflictos automáticamente; se apoya en las herramientas nativas de Git en el
terminal de VS Code.