Git no es difícil para todos, sino para la mayoría de las personas que viven en el mundo.
En mi opinión, serás tratado como un ciudadano de segunda clase por git:
- Si eres usuario de Windows
- Si no eres adicto a cualquier software de terminal
Y la vida es dura para todos los ciudadanos de segunda clase.
No hay un mejor cliente GUI para git. Hay muchos clientes increíbles, pero “muchos” es el problema clave. Como principiante, tiene que aprender de su compañero de trabajo, tutorial, sitio Q / A como Stack Overflow. Y la mayoría de ellos no demuestran las características utilizando ningún cliente GUI que haya instalado. Actualmente estoy trabajando en una empresa de software local donde se utiliza git como herramienta de control de versiones, pero ninguno de mis colegas tiene conocimientos básicos sobre git / vcs, lo cual es necesario para trabajar en un entorno compartido. Desafortunadamente, algunos de mis compañeros de trabajo han sabido que tengo mejor conocimiento sobre git que otros en la compañía. Y a menudo vienen a mí, pero a veces no puedo resolver sus problemas en su máquina. Porque usan diferentes clientes de GUI que nunca he usado y no me interesa aprenderlos. Otro problema es que git terminal proporciona su mejor soporte para Linux, luego Mac (sin autocompletar por defecto), luego Windows (probablemente el peor soporte). Git proporciona soporte de Windows mediante un MinGW integrado y como no me gusta el símbolo del sistema de Windows, así como Power Shell, personalmente uso Cygwin como terminal. Pero me resultó difícil usar git desde ambos lugares. Por ejemplo, tengo que agregar ssh-key en ambos archivos de usuario.
- ¿Cuál es la forma más barata de aprender marketing digital?
- ¿Cuántos maestros tenías que parecían “bien” en ese momento, pero en retrospectiva eran horribles?
- ¿Cómo aprenden las personas a construir IA?
- ¿Qué has aprendido como ingeniero civil?
- ¿Es ROS un programa útil para aprender sobre robótica? ¿Merece la pena que otros softwares robóticos aprender?
Desde el punto de vista del diseño de UX, “peor es mejor”. Y de acuerdo con mi observación, git y mercurial son los vcs más útiles entre todos los otros vcs populares. Y confíe en mí, si git proporcionara todas las funciones que un usuario pueda necesitar, entonces sería el vcs más difícil del mundo y nadie podría aprenderlo. Es cierto para cualquier software. Debe sacrificar todas las funciones impresionantes que son muy necesarias para los usuarios avanzados solo para facilitar el aprendizaje para los usuarios novatos. Aunque la mayoría de los softwares están diseñados de esta manera, los usuarios novatos son la mayoría del mundo.
Afortunadamente, Linus no diseñó el git solo para los usuarios novatos. Probablemente tenga algún rincón suave para los usuarios avanzados o no sabía cómo hacer una UX “fácil de aprender”. Por lo tanto, si desea aprender git solo para algunas funciones básicas, puede pensar que su UX está mal diseñado y podría rediseñarse para facilitar el aprendizaje. Pero confía en mí, solo estás pensando desde la perspectiva del usuario novato. Recuerde, todos los usuarios avanzados deben aprender el software todos los días. No tienen ninguna capacidad inherente para aprender software de la noche a la mañana, aunque algunas personas están acostumbradas a pensar de esa manera. Por lo tanto, no es justo pensar que los usuarios avanzados podrían haber usado / aprendido git de todos modos, incluso si git fue diseñado para usuarios novatos.
Si comparo mi experiencia de aprendizaje entre git y mercurial, encontré que mercurial es más fácil de aprender y enseñar en la etapa inicial en comparación con git. Pero cuando intenté aprender algunas características más avanzadas, como el sub-repositorio / sub-módulo / sub-árbol, descubrí que Mercurial tiene muy pocos apoyos para ello.
Además, mercurial utiliza el etiquetado del nombre de la rama en el mensaje de confirmación, que es realmente útil cuando los usuarios no son tan cautelosos con respecto a la estructura del árbol (cuándo fusionarse sin adelantar y cuándo simplemente cambiar la base de confirmación en lugar de fusionar). Pero si todos los usuarios tienen cuidado en fusionar las estrategias del repositorio, el etiquetado forzado del nombre de la rama en el mensaje de confirmación puede parecerles molesto. Sin embargo, personalmente, prefiero mercurial branch sobre git branch, especialmente cuando uso con un UI Client.
Una desventaja de usar git desde el terminal es que no puede ver el árbol de revisiones todo el tiempo. Tienes que memorizar de alguna manera la estructura del árbol mientras escribes los comandos git en la terminal. Creo que el árbol de revisión, los archivos agregados y algunas otras cosas deberían estar visibles por defecto en git terminal.