CMD + Z para Git está aquí | Programar Plus

El control de versiones con Git se ha convertido en una “mercancía” a estas alturas: prácticamente todos los proyectos de software actuales utilizan Git, y prácticamente todos los desarrolladores conocen Git hasta cierto punto. Esto explica por qué a veces escucho la siguiente pregunta cuando hablo de lo que hago para ganarme la vida: “¿Un cliente de escritorio para Git? ¿Por qué necesitaría eso? ¡Puedo hacer eso en la línea de comando! “

Si tengo suerte, tengo una computadora a mi lado cuando se me ocurre esa pregunta. Y en lugar de producir una respuesta prolija, hago un par de cosas en Tower, nuestro cliente de escritorio para Git.

Cualquiera que haya realizado una “Rebase interactiva” se sorprenderá de lo fácil que es en Tower: simplemente arrastra y suelta para combinar confirmaciones o reordenarlas. Y cualquiera que aún no haya usado “Interactive Rebase”, porque era demasiado complicado y torpe de usar en la línea de comandos, ahora comprende que es una herramienta muy valiosa.

O podría cometer un error: eliminar accidentalmente una rama o estropear una fusión de una manera terrible. Y simplemente presionaré CMD + Z, como lo haría en un editor de texto, para deshacer el lío que acabo de hacer.

Entonces, la gente comienza a darse cuenta de que la verdadera pregunta no es: “¿Puedo usar Git en la línea de comandos?” Las preguntas más importantes son:

  • ¿Puedo usar todo el poder de Git? (Incluso las funciones avanzadas que pueden ser difíciles de usar, pero que pueden ser muy valiosas …)
  • ¿Puedo trabajar con Git de forma productiva? (No tener que buscar parámetros, no dedicar demasiado tiempo a mis flujos de trabajo…)
  • ¿Puedo trabajar con Git de forma sencilla? (Sin tener que pensarlo demasiado …)

Nosotros, un pequeño equipo de solo 9 personas, hemos pasado los últimos 10 años respondiendo esas preguntas construyendo Tower.

Cómo deshacer errores

Una de las mejores características de Git es que te permite deshacer casi cualquier cosa. Sin embargo, se requiere bastante experiencia para saber exactamente cómo deshacer su tipo particular de desorden: ¡una fusión fallida debe limpiarse de manera diferente a una rama eliminada!

Después de trabajar en esto durante mucho tiempo, Tower ahora le permite deshacer prácticamente cualquier cosa, ¡simplemente presionando CMD + Z! (Nota: la función “Deshacer” es una adición bastante reciente y está disponible por primera vez en la versión Mac de Tower. Pronto también llegará a Windows).

No importa si echó a perder una fusión, eliminó una rama sin darse cuenta, descartó un cambio local valioso, publicó una rama en un control remoto demasiado pronto o simplemente cometió algo que no debería haber hecho: su salvavidas es tan simple como “CMD + Z ”, Y siempre está disponible.

El poder de la Rebase interactiva

Interactive Rebase es un maravilloso ejemplo de las características más poderosas de Git. Te permite …

  • editar antiguas confirmaciones (¡tanto sus mensajes como sus conjuntos de cambios!)
  • combinar múltiples confirmaciones en una
  • reordenar confirmaciones
  • … ¡E incluso borra las confirmaciones que ya no necesitas!

Todos estos pueden ayudar mucho a mantener una base de código limpia y estructurada. Pero al ser una herramienta muy poderosa, Interactive Rebase también es un ejemplo de una función de Git que es bastante complicada de usar.

Muchos principiantes se asustan con esta complejidad, lo que significa que, por supuesto, se perderán los beneficios de la función. Muchos desarrolladores experimentados conocen y utilizan Interactive Rebase; pero como la función es difícil de usar, les cuesta mucho tiempo y / o cometen errores de vez en cuando.

Sabiendo esto, teníamos dos objetivos para integrar Interactive Rebase en Tower: por un lado, queríamos reducir su complejidad tanto como fuera posible. Y, por otro lado, queríamos que la función fuera fácilmente accesible.

El resultado es que Interactive Rebase ahora está integrado directamente en el “Historial de confirmaciones” y se puede acceder a él a través de simples opciones de menú y arrastrar y soltar:

Innumerables desarrolladores que no habrían utilizado Interactive Rebase en absoluto en la línea de comandos, ahora lo utilizan a diario en Tower.

Acciones rápidas

Casi independientemente de su tamaño, trabajar en una base de código significa dedicar mucho tiempo a buscar: por ejemplo, una determinada rama (entre muchas ramas) o un determinado archivo (entre muchos archivos).

Tower le permite realizar la mayoría de sus tareas diarias sin examinar los datos, e incluso sin quitar las manos del teclado. El cuadro de diálogo “Acción rápida” toma casi cualquier entrada y le permite simplemente actuar sobre ella:

  • Déle un nombre de sucursal y se ofrecerá a realizar un pago.
  • Asígnele un nombre de archivo y ofrecerá mostrarlo en el Historial de archivos.
  • Dale un hash de confirmación y te ofrecerá mostrar los detalles de esa confirmación.

Ser capaz de realizar muchas tareas directamente desde el teclado, sin tener que buscar y examinar una gran cantidad de datos, puede hacer que la vida como desarrollador sea mucho más fácil.

Resolviendo conflictos con confianza

Todo el mundo odia ese momento en el que una fusión (o rebase) se detiene y te deja con un montón de conflictos 😱 Múltiples preguntas luego entran rápidamente en la mente del pobre programador:

  • ¿Cuáles son mis cambios? ¿Qué son de otra persona?
  • ¿Lo que realmente pasó?
  • ¿Por qué yo?

Si bien, es cierto que Tower no puede responder a todas esas preguntas, ofrece un “Asistente de conflictos” especial que ayuda a que la situación sea mucho más comprensible:

Puede ver fácilmente de dónde provienen los cambios y puede resolver el conflicto simplemente eligiendo con qué versión ir (o saltar a una herramienta de combinación dedicada). Hace las cosas mucho más fáciles cuando los conflictos de fusión se visualizan de esta manera, en lugar de ser un lío abstracto.

Ser más productivo

Al construir y mejorar Tower, siempre nos esforzamos por facilitar las cosas a nuestros usuarios y hacerlos más productivos. Tomemos algunos ejemplos de dónde se muestra esto en Tower:

  • No más contraseñas, tokens, claves SSH: Puede conectar fácilmente sus cuentas de GitHub / GitLab / Bitbucket / Azure DevOps con Tower. Una vez conectado, nunca más tendrá que luchar con contraseñas, autenticación, tokens, nombres de usuario y claves SSH. Entonces, clonar e interactuar con un repositorio remoto es cuestión de un clic.
  • Puesta en escena y descarte de una sola línea: Existe una regla de oro en el control de versiones: cuando realiza una confirmación, solo debe incluir cambios de un solo tema (y no mezclar varios temas en una confirmación, lo que hace que sea extremadamente difícil entender lo que realmente sucedió). Con la capacidad de escenificar / desestructurar / descartar fragmentos y líneas individuales de sus cambios, Tower le permite crear confirmaciones granulares y precisas.
  • Un nuevo visor de diferencias: En una actualización muy reciente, le dimos a nuestro visor de diferencias interno una revisión completa. Ahora resalta los cambios en línea, le permite mostrar / ocultar los cambios en los espacios en blanco, puede mostrar el archivo completo y es completamente personalizable con temas.
  • Automatizaciones para las cosas aburridas: Tower se encarga de gran parte del trabajo duro en torno a Git. Para tomar solo dos ejemplos: ni tiene que buscar regularmente nuevas actualizaciones desde el control remoto, ni debe recordar realizar cambios no confirmados antes de tirar / cambiar de rama / fusionar … Tower lo hace automáticamente por usted.

Cuando pienso en las aplicaciones favoritas que utilizo, todas tienen algunas cosas en común: me hacen la vida más fácil, me hacen más productiva y me permiten hacer cosas avanzadas que me costaría mucho hacer sin ellas. ellos. ¡Estoy contento y agradecido de que muchos de nuestros usuarios consideren a Tower como una de sus aplicaciones favoritas!

Si desea probar Tower, simplemente descárguelo de nuestro sitio web y pruébelo gratis durante 30 días. Y si eres estudiante o profesor, ¡puedes usar Tower gratis!

(Visited 3 times, 1 visits today)