11 pontos por GN⁺ 2023-12-13 | 2 comentários | Compartilhar no WhatsApp

Uma pergunta sobre se o Git é a solução definitiva em sistemas de controle de versão (VCS), ou se seria possível existir um sistema melhor

Principais respostas

  • Aprender Git é muito mais útil do que usar outro VCS ou criar um novo VCS
  • A CLI do Git não é boa, então há esforços em vários lugares para resolver os problemas de UI do Git
  • O Jujutsu combina as vantagens de outros sistemas distribuídos de controle de versão (DVCS) e introduz conceitos inovadores
  • O Fossil, criado pelo desenvolvedor do SQLite, permite rastrear o histórico dos arquivos para frente e para trás
  • O Pijul também é promissor
  • O interior do Git não é complexo, mas a interface é confusa
  • Ainda deixa a desejar para arquivos binários grandes. O LFS é estranho
  • O Darcs também é bom

2 comentários

 
rapihara 2023-12-13

Acho que, do ponto de vista de um desenvolvedor de jogos que lida com arquivos grandes com frequência, inevitavelmente há limitações no uso do Git.
Como o Git armazena usando o método de snapshot, mesmo uma pequena mudança em um arquivo pode aumentar bastante o espaço de armazenamento. Para resolver isso, seria necessário armazenar no formato delta em vez de snapshot, mas isso pode comprometer a filosofia básica de design do Git; por isso, talvez fosse melhor usar o Mercurial, que também é um DVCS e armazena no formato delta.

 
GN⁺ 2023-12-13
Opinião do Hacker News
  • Muitas pessoas tiveram o Git como o primeiro e único sistema de controle de versão (VCS) com que entraram em contato.

    • Houve quem tenha usado RCS, CVS e SVN antes de migrar para o Git.
    • O Git resolveu falhas estruturais fundamentais dos sistemas anteriores.
    • As limitações do Git estão em o usuário saber como usá-lo.
    • Tentar simplificar a UI complexa do Git pode enfraquecer seu poder.
    • Aprender Git é muito mais proveitoso do que usar outro VCS ou criar um novo VCS.
  • A pergunta sobre quais aspectos o Git precisaria melhorar para se tornar um VCS "melhor".

    • A interface de usuário da CLI do Git é complexa.
    • O Git conseguiu crescer rapidamente, mas às custas da experiência de uso da CLI.
    • Várias empresas oferecem soluções diferentes para resolver os problemas de UI do Git.
  • O sistema de controle de versão Jujutsu combina as vantagens de outros sistemas distribuídos de controle de versão (DVCS) e introduz conceitos inovadores.

    • Já foi discutido várias vezes no Hacker News.
  • Um sistema chamado Fossil, criado pelos autores do Sqlite.

    • Diferentemente do Git, o Fossil oferece recursos para rastrear o histórico de arquivos para frente e para trás.
  • A opinião de que o Git não é perfeito, mas ainda é melhor do que as alternativas.

    • A descoberta de funcionalidades no Git é confusa e complexa.
    • Aprender Git exige muito esforço, mas não há problema quando se usam apenas os comandos básicos.
  • O funcionamento interno do Git não é complexo, mas a interface do usuário é confusa.

    • O necessário não é simplificar o Git em si, mas sim a interface do usuário.
  • Um sistema chamado Fossil é apresentado como alternativa ao Git.

    • O Fossil inclui ferramentas de forge que resolvem o problema da centralização dos repositórios Git.
  • O desejo de que o Git lidasse melhor, de forma nativa, com arquivos grandes/ativos binários.

    • O LFS (Large File Storage) é aceitável, mas não é perfeito.
    • A CLI não é o problema, e existem muitas ferramentas alternativas.
  • O Fossil, do Sqlite, e o Sapling, do Facebook, são citados como alternativas ao Git.

  • Uma teoria pessoal sobre como melhorar a interface do Git.

    • Dar mais foco ao repositório como um grafo direcionado e usar uma linguagem baseada em termos de grafos.
    • Isso tornaria o Git mais fácil de aprender para pessoas com formação em matemática.