GRV. Una visión de git en el terminal

El control de versiones es algo que siempre me ha llamado poderosamente la atención. Y mas que para aplicarlo únicamente al desarrollo de software, para aplicarlo a cualquier cosa que se te pueda pasar por la cabeza. Y es que las posibilidades que nos ofrece para llevar una gestión adecuada de cualquier tarea que llevemos adelante, son espectaculares. Sin embargo, tanto para un usuario novel, como para uno avezado en las lides del control de versiones, siempre llega un momento en el que necesita situarse, saber donde se encuentra. Para estas situaciones hay diferentes soluciones, y una de ellas es GRV, Git Repository Viewer.

GRV. Una visión de git en el terminal

GRV. Git Repository Viewer

Dependiendo del entorno de desarrollo que estés utilizando, es posible este disponga de un gestor visual de Git. O por lo menos, que tenga forma de mostrarte, de forma gráfica, la evolución de tu repositorio con el paso del tiempo.

Esto, no solo, te permite situarte donde te encuentras, sino que además te permite gestionar de una forma mas intuitiva las diferentes acciones que puedes realizar.

¿Porque utilizar un visor de Git en el terminal?

Es posible que te preguntes, que razón puedes tener para utilizar un visor de Git en el terminal. Sencillamente dependerá de tu flujo de trabajo, ni mas ni menos. Si, como comentaba en la introducción, tu entorno de desarrollo, ya lo lleva integrado, es posible que no te haga falta. Sin embargo, una solución como GRV siempre aporta herramientas adicionales o un punto de vista diferente.

Si por el contrario, para trabajar con Git, recurres al terminal, desde luego, que una herramienta, como GRV, te será de gran utilidad, aunque sea de forma puntual.

Características de GRV

GRV tiene algunas características que hacen que esta herramienta tenga un gran potencial, sobre todo aquellos acostumbrados a trabajar en el terminal, y mas si lo hacen utililizando VIM.

  • Se pueden filtrar commits y referencias utilizando un lenguaje propio de consultas.
  • Los cambios que se producen en el repositorio se refrescan en tiempo real en GRV. Esto lo consigue monitorizando el sistema de archivos.
  • GRV está organizado en pestañas, permitiéndote crear nuevas utilizando la combinación de las existentes.
  • Tiene un sistema de atajos de teclado similar a VI. Pero además, los atajos de teclado son configurables y personalizables, como no podía ser de otra manera.
  • Puedes definir tus propios temas.
  • Tiene soporte para ratón.
  • Tiene un gráfico de commits.

Atajos de teclado

A continuación puedes encontrar algunos de los atajos de teclado mas interesantes, que por supuesto puedes definir según tus propias necesidades.

AtajoAcciónDescripción
z.,zzgrv-center-viewCentra la vista
Lgrv-cursor-bottom-viewSe mueve a la última línea de la página
Mgrv-cursor-middle-viewSe mueve al medio de la página
Hgrv-cursor-top-viewSe mueve a la primera línea de la página
gggrv-first-lineSe mueve a la primera línea
Ggrv-last-lineSe mueve a la última línea
C-dgrv-next-half-pageSe mueve media página abajo
Down,jgrv-next-lineSe mueve una línea abajo
PageDown,C-fgrv-next-pageSe mueve una página abajo
C-ugrv-prev-half-pageSe mueve media página arriba
Up,kgrv-prev-lineSe mueve una línea arriba
PageUp,C-bgrv-prev-pageSe mueve una página arriba
zbgrv-scroll-cursor-bottomDesplaza la pantalla hacia abajo
ztgrv-scroll-cursor-topDesplaza la pantalla hacia arriba
Left, hgrv-scroll-leftDesplazamiento a la izquierda
Right,lgrv-scroll-rightDesplazamiento a la derecha
/grv-search-promptBúsqueda desde el principio
?grv-reverse-search-promptBúsqueda desde el final
ngrv-search-find-nextSe desplaza al siguiente encontrado
Ngrv-search-find-prevSe desplaza al anterior encontrado

Estos son unos pocos de los atajos de teclado que te permite GRV. Te recomiendo que le des un vistazo al listado de atajos de teclado porque es sinceramente brutal.

Ciertamente aprenderte todos estos atajos de teclado tiene su aquel, pero es que la productividad que te ofrece, es muy interesante.

Configuración

Una de los aspectos reseñados de la aplicación es, precisamente, el gráfico de commits. Sin embargo, este no se muestra por defecto. Para mostrarlo tienes que ejecutar set commit-graph true. Esta es una de las variables que GRV te permite configurar. Existen muchas otras, entre ellas te destaco las siguientes,

VariableTipoValor por defectoDescripción
commit-graph booleanafalseGráfico visible
mousebooleanafalseSoporte del ratón
tabwidthentero8Ancho del tabulador
themecadenasolarizedTema activo

Además de poder configurar los valore a través de comando, también lo puedes hacer mediante un fichero de configuración, ~/.config/grv/grvrc. En mi caso, tengo las siguientes opciones definidas,

set commit-graph true
set tabwidth 4
set mouse true

Instalación

Actualmente, GRV, no está disponible en los repositorios oficiales de Ubuntu, pero lo puedes instalar fácilmente desde GitHub.

Otra opción, es ejecutar las siguientes órdenes, pero ten en cuenta, que la versión puede haber cambiado,

wget -O grv https://github.com/rgburke/grv/releases/download/v0.3.0/grv_v0.3.0_linux64
chmod +x .grv
sudo mv grv /usr/bin

En el caso de que utilices bash-it o oh-my-zsh ten en cuenta que existe un alias para git que es precisamente grv, con lo que tendrás que deshabilitar este alias.

Conclusiones

Como te he comentado a lo largo del artículo, se trata de una aplicación realmente útil, y que seguro te puede aportar una mejor visión de Git, con independencia de tu nivel de usuario. Mi recomendación, como de costumbre en estos casos, es que pruebes GRV, porque siempre te puede aportar algo nuevo.

En el caso de que seas un usuario novel, tres cuartos de lo mismo, prueba GRV. Soy consciente de que es posible que el terminal te tire para atrás. Sin embargo, tarde o temprano, te darás cuenta de que el terminal es tu amigo con la productividad, con lo que cuanto antes empieces a utilizarlo antes empezarás a ser altamente productivo.


Más información,

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *