11 puntos por GN⁺ 2023-12-13 | 2 comentarios | Compartir por WhatsApp

Una pregunta sobre si Git es la solución definitiva en sistemas de control de versiones (VCS), o si podría existir un sistema mejor

Respuestas principales

  • Aprender Git es mucho más beneficioso que usar otro VCS o crear uno nuevo
  • La CLI de Git no es buena, así que en varios lugares se está intentando resolver los problemas de la UI de Git
  • Jujutsu combina las ventajas de otros sistemas de control de versiones distribuidos (DVCS) e introduce conceptos innovadores
  • Fossil, creado por el desarrollador de SQLite, permite rastrear el historial de archivos hacia atrás y hacia adelante
  • Pijul también es prometedor
  • El interior de Git no es complejo, pero su interfaz es confusa
  • Sigue siendo insuficiente para archivos binarios grandes. LFS es incómodo
  • Darcs también está bien

2 comentarios

 
rapihara 2023-12-13

Creo que, desde la perspectiva de un desarrollador de videojuegos que maneja con frecuencia archivos de gran tamaño, inevitablemente hay límites al usar git.
git guarda usando un método de snapshots, así que incluso si un archivo cambia solo un poco, el espacio de almacenamiento puede aumentar mucho. Para resolverlo habría que guardar usando un método delta en lugar de snapshots, pero eso podría ir en contra de la filosofía básica de diseño de git, así que quizá sería mejor usar mercurial, que también es un DVCS pero almacena usando el método delta.

 
GN⁺ 2023-12-13
Opiniones de Hacker News
  • Muchas personas conocieron Git como su primer y único sistema de control de versiones (VCS).

    • Hubo quienes antes usaron RCS, CVS y SVN, y luego migraron a Git.
    • Git resuelve defectos estructurales fundamentales de los sistemas anteriores.
    • La limitación de Git está en que el usuario sepa cómo usarlo.
    • Los intentos de simplificar la compleja UI de Git pueden debilitar su potencia.
    • Aprender Git es mucho más útil que usar otro VCS o crear uno nuevo.
  • Se plantea qué aspectos debería mejorar Git para convertirse en un VCS "mejor".

    • La interfaz de usuario de la CLI de Git es compleja.
    • Git pudo crecer rápidamente, pero sacrificó la experiencia de usuario en la CLI.
    • Varias empresas ofrecen distintas soluciones para resolver los problemas de UI de Git.
  • El sistema de control de versiones Jujutsu combina ventajas de otros sistemas distribuidos de control de versiones (DVCS) e introduce conceptos innovadores.

    • Ya se ha discutido varias veces en Hacker News.
  • Un sistema llamado Fossil, creado por los creadores de Sqlite.

    • A diferencia de Git, Fossil ofrece funciones para rastrear el historial de archivos hacia adelante y hacia atrás.
  • Opinión de que Git no es perfecto, pero sigue siendo mejor que sus alternativas.

    • La descubribilidad de sus funciones es confusa y compleja.
    • Aprender Git requiere mucho esfuerzo, pero no hay problema cuando solo se usan los comandos básicos.
  • El funcionamiento interno de Git no es complejo, pero su interfaz de usuario es confusa.

    • Lo que hace falta no es simplificar Git en sí, sino simplificar la interfaz de usuario.
  • Se propone Fossil como alternativa a Git.

    • Fossil incluye herramientas de forja que resuelven el problema de centralización de los repositorios Git.
  • Deseo de que Git manejara mejor, de forma nativa, archivos grandes y recursos binarios.

    • LFS (Large File Storage) está bien, pero no es perfecto.
    • La CLI no es el problema, y existen muchas herramientas alternativas.
  • Se mencionan Fossil de Sqlite y Sapling de Facebook como alternativas a Git.

  • Una teoría personal sobre cómo podría mejorarse la interfaz de Git.

    • Centrarse más en el repositorio como un grafo dirigido y usar un lenguaje basado en términos de grafos.
    • Eso haría que Git fuera más fácil de aprender para personas con formación matemática.