11 điểm bởi GN⁺ 2023-12-13 | 2 bình luận | Chia sẻ qua WhatsApp

Liệu Git có phải là giải pháp cuối cùng cho hệ thống quản lý phiên bản (VCS), hay vẫn có thể tồn tại một hệ thống tốt hơn

Các câu trả lời nổi bật

  • Học Git có ích hơn nhiều so với dùng VCS khác hoặc tạo một VCS mới
  • Git CLI không tốt, nên nhiều nơi đang cố gắng giải quyết vấn đề UI của Git
  • Jujutsu kết hợp các ưu điểm của những hệ thống quản lý phiên bản phân tán (DVCS) khác và đưa vào các khái niệm đổi mới
  • Fossil, do nhà phát triển SQLite tạo ra, có thể theo dõi lịch sử tệp tiến và lùi
  • Pijul cũng đầy hứa hẹn
  • Nội bộ của Git không phức tạp, nhưng giao diện thì gây khó hiểu
  • Vẫn còn hạn chế với các tệp nhị phân dung lượng lớn. LFS khá gượng gạo
  • Darcs cũng ổn

2 bình luận

 
rapihara 2023-12-13

Tôi nghĩ rằng, từ góc nhìn của một nhà phát triển game thường xuyên xử lý các tệp dung lượng lớn, việc sử dụng git tất yếu sẽ có những giới hạn.
git lưu trữ theo kiểu snapshot, nên dù tệp chỉ thay đổi một chút thì dung lượng lưu trữ vẫn có thể tăng lên đáng kể. Để giải quyết vấn đề này thì cần lưu trữ theo kiểu delta thay vì snapshot, nhưng điều đó có thể làm tổn hại đến triết lý thiết kế cốt lõi của git, vì vậy tôi nghĩ có lẽ sẽ tốt hơn nếu dùng mercurial, cũng là một DVCS, nhưng lưu trữ theo kiểu delta.

 
GN⁺ 2023-12-13
Ý kiến Hacker News
  • Nhiều người tiếp cận Git như là hệ thống quản lý phiên bản (VCS) đầu tiên và cũng là duy nhất.

    • Đã có trải nghiệm dùng RCS, CVS, SVN trước khi chuyển sang Git.
    • Git giải quyết các khiếm khuyết cấu trúc mang tính nền tảng của những hệ thống trước đó.
    • Giới hạn của Git nằm ở việc người dùng có biết cách sử dụng Git hay không.
    • Những nỗ lực đơn giản hóa UI phức tạp của Git có thể làm suy yếu sức mạnh của Git.
    • Học Git hữu ích hơn nhiều so với việc dùng VCS khác hoặc tạo ra một VCS mới.
  • Câu hỏi về những khía cạnh Git cần cải thiện để trở thành một VCS "tốt hơn".

    • Giao diện người dùng CLI của Git khá phức tạp.
    • Git có thể phát triển nhanh, nhưng phải đánh đổi trải nghiệm người dùng trên CLI.
    • Nhiều công ty cung cấp các giải pháp khác nhau để giải quyết vấn đề UI của Git.
  • Hệ thống quản lý phiên bản Jujutsu kết hợp ưu điểm của các hệ thống quản lý phiên bản phân tán (DVCS) khác và đưa vào các khái niệm đổi mới.

    • Đã được thảo luận nhiều lần trên Hacker News.
  • Một hệ thống tên là Fossil do những người tạo ra Sqlite xây dựng.

    • Không giống Git, Fossil cung cấp khả năng lần theo lịch sử của tệp theo cả hai chiều tiến và lùi.
  • Có ý kiến cho rằng Git không hoàn hảo, nhưng vẫn tốt hơn các lựa chọn thay thế.

    • Khả năng khám phá tính năng của Git gây bối rối và phức tạp.
    • Học Git đòi hỏi nhiều công sức, nhưng nếu chỉ dùng các lệnh cơ bản thì không có vấn đề gì.
  • Cách vận hành bên trong của Git không phức tạp, nhưng giao diện người dùng thì gây bối rối.

    • Điều cần thiết không phải là thay đổi Git, mà là đơn giản hóa giao diện người dùng.
  • Một hệ thống tên là Fossil được đưa ra như một lựa chọn thay thế cho Git.

    • Fossil bao gồm công cụ forge giúp giải quyết vấn đề tập trung hóa kho lưu trữ của Git.
  • Mong muốn Git mặc định xử lý tệp lớn/tài sản nhị phân tốt hơn.

    • LFS (Large File Storage) ổn nhưng chưa hoàn hảo.
    • CLI không phải vấn đề, và có nhiều công cụ thay thế tồn tại.
  • Fossil của Sqlite và Sapling của Facebook được nhắc đến như các lựa chọn thay thế cho Git.

  • Một giả thuyết cá nhân về cách có thể cải thiện giao diện của Git.

    • Tập trung nhiều hơn vào kho lưu trữ như một đồ thị có hướng, và dùng ngôn ngữ theo các thuật ngữ của đồ thị.
    • Giúp những người có nền tảng toán học học Git dễ hơn.