¿Crees que la sintaxis de Git está mal diseñada?

Sí. Creo que git es uno de los mejores ejemplos de cómo no deberían diseñarse las interfaces de línea de comandos. Si bien los conceptos detrás de git son realmente profundos e inígenos, la interfaz estaba completamente arruinada.

¿Por qué una herramienta de línea de comandos inicia un navegador para mostrar una página manual que contiene ayuda? (Estoy hablando de la versión de Windows de git. ¿Pero quién pensó que usar “man” para mostrar texto es realmente una buena idea?)

Pero tal vez sea mejor así. Porque sin StackOverflow no podría usarlo de todos modos.

Aunque Torvalds ciertamente tenía fuertes opiniones sobre SVN, tomar las mismas palabras para significar cosas completamente diferentes que en los sistemas de la competencia no hace que las cosas sean más fáciles de trabajar. ¿Y por qué, oh por qué, elegiste el nombre “rama” para referirte a un cono de crecimiento?

¿El comando

git rm –caché

eliminar los archivos en caché (sin seguimiento), o los guarda?

Y así.

Lo pensé durante mucho tiempo, pero ahora supongo que me acostumbré.

Git es una herramienta realmente poderosa, que te permite hacer cosas increíbles. Tiene una gran cantidad de funcionalidades útiles de alto nivel y te permite hacer cosas de muy bajo nivel. Supongo que parte de la interfaz de usuario engorrosa proviene de eso.

Pero otras cosas son innecesariamente confusas. Al igual que “git checkout” tiene diferentes significados dependiendo de cómo lo use (deshacer cambios a un archivo o cambiar a una rama diferente o crear una nueva rama).

Realmente preferí mercurial sobre git cuando aprendí sobre los sistemas de control de versiones distribuidas hace varios años. Y he hecho todo lo posible para usar mercurial sobre git durante algún tiempo. Pero git parece haber ganado, así que hoy en día, solo lo uso …