CMD+Z para Git ya está aquí
El control de versiones con Git se ha convertido en un “producto” 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 a qué me dedico: “¿Un cliente de escritorio para Git? ¿Por qué necesitaría eso? ¡Puedo hacerlo en la línea de comando!“
Si tengo suerte, tengo una computadora a mi lado cuando me surge esa pregunta. Y en lugar de dar una respuesta detallada, hago un par de cosas en Tower, nuestro cliente de escritorio para Git.
Cualquiera que haya realizado alguna vez una “Rebase interactiva” se sorprende de lo fácil que es en Tower: simplemente arrastre y suelte para combinar confirmaciones o reordenarlas. Y cualquiera que aún no haya usado "Rebase interactivo" (porque era demasiado complicado y torpe para usarlo 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 desastre que acabo de hacer.
Entonces la gente empieza 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 una manera fácil? (Sin tener que pensar mucho en ello…)
Nosotros, un pequeño equipo de sólo 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 un tipo particular de desorden: ¡una fusión fallida debe limpiarse de manera diferente que 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 estuvo disponible por primera vez en la versión Mac de Tower. pronto llegará también a Windows).
No importa si estropeaste una fusión, eliminaste una rama sin darte cuenta, descartaste un cambio local valioso, publicaste una rama en un control remoto demasiado pronto o simplemente cometiste algo que no deberías haber hecho: tu salvación es tan simple como "CMD+Z". ”, y siempre está disponible.
El poder de la rebase interactiva
Interactive Rebase es un maravilloso ejemplo de las funciones más potentes de Git. Te permite…
- editar confirmaciones antiguas (¡tanto sus mensajes como sus conjuntos de cambios!)
- combinar múltiples confirmaciones en una
- reordenar confirmaciones
- …¡e incluso elimina las confirmaciones que ya no necesitas!
Todo esto puede 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 característica de Git que es bastante complicada de usar.
Muchos principiantes se asustan ante esta complejidad, lo que significa que, por supuesto, ¡se perderán los beneficios de esta 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 al 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 mediante un simple arrastrar y soltar y opciones de menú:
Innumerables desarrolladores que no habrían usado Interactive Rebaseat solo en la línea de comandos ahora lo usan 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 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:
- Dale un nombre de sucursal y te ofrecerá realizar un pago.
- Asígnele un nombre de archivo y le 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 la vida como desarrollador mucho más fácil.
Resolver 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. Luego, múltiples preguntas entran rápidamente en la mente del pobre programador:
- ¿Cuáles son mis cambios? ¿Cuáles son los 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 resolver el conflicto simplemente eligiendo qué versión utilizar (o accediendo 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 desastre abstracto.
Ser más productivo
Al construir y mejorar Tower, siempre nos esforzamos por hacer las cosas más fáciles para nuestros usuarios y hacerlos más productivos. Tomemos algunos ejemplos de dónde se muestra esto en Tower:
- No más contraseñas, tokens y claves SSH: puede conectar fácilmente sus cuentas de GitHub/GitLab/Bitbucket/Azure DevOps con Tower. Una vez conectado, nunca más tendrás que luchar con contraseñas, autenticación, tokens, nombres de usuario y claves SSH. Clonar e interactuar con un repositorio remoto, entonces, es cuestión de solo un clic.
- Descarte de puesta en escena 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 organizar, cancelar o 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, revisamos completamente nuestro visor de diferencias interno. Ahora resalta los cambios en línea, le permite mostrar/ocultar cambios de espacios en blanco, puede mostrar el archivo completo y es completamente personalizable con temas.
- Automatizaciones para cosas aburridas: Tower se encarga de gran parte del trabajo pesado relacionado con Git. Para tomar solo dos ejemplos: no tiene que buscar regularmente nuevas actualizaciones desde el control remoto, ni tiene que recordar realizar cambios no confirmados antes de extraer/cambiar ramas/fusionar... Tower lo hace automáticamente por usted.
Cuando pienso en las aplicaciones favoritas que uso, todas tienen algunas cosas en común: me hacen la vida más fácil, me hacen más productivo y me permiten hacer cosas avanzadas que me resultaría difícil hacer sin ellas. a ellos. ¡Me alegra y agradezco que muchos de nuestros usuarios consideren Tower como una de sus aplicaciones favoritas!
Si quieres probar Tower, simplemente descárgalo de nuestro sitio web y pruébalo durante 30 días gratis. Y si eres estudiante o profesor, ¡puedes utilizar Tower gratis!
Deja un comentario