Hệ thống kiểm soát phiên bản Jujutsu tăng trưởng mạnh khi các nhà phát triển báo cáo quá trình chuyển đổi từ Git diễn ra suôn sẻ

Nhóm Cộng đồng BigGo
Hệ thống kiểm soát phiên bản Jujutsu tăng trưởng mạnh khi các nhà phát triển báo cáo quá trình chuyển đổi từ Git diễn ra suôn sẻ

Cộng đồng nhà phát triển đang thể hiện sự quan tâm ngày càng tăng đối với Jujutsu , một hệ thống kiểm soát phiên bản hiện đại hứa hẹn giải quyết một số thách thức về khả năng sử dụng lâu nay của Git . Các cuộc thảo luận gần đây cho thấy một xu hướng rằng các nhà phát triển thực sự thử Jujutsu có xu hướng tiếp tục sử dụng nó, trong khi sự hoài nghi chủ yếu vẫn tồn tại ở những người chưa trực tiếp kiểm tra nó.

Trải nghiệm chuyển đổi với độ ma sát thấp

Một trong những khía cạnh hấp dẫn nhất nổi lên từ phản hồi của cộng đồng là việc chuyển từ Git sang Jujutsu dễ dàng đến mức đáng ngạc nhiên. Các nhà phát triển báo cáo rằng quá trình chuyển đổi đòi hỏi ít nỗ lực hơn nhiều so với dự kiến, với Jujutsu hoạt động như một lớp trên các kho Git hiện có thay vì yêu cầu chuyển đổi hoàn toàn.

Tôi đã bắt đầu sử dụng Jujutsu gần đây và ngạc nhiên về việc chuyển đổi có độ ma sát thấp như thế nào. Nếu bạn giống như tác giả và liên tục nghe về nó mà không thử, tôi khuyên bạn chỉ cần ngồi xuống và thử - nó ít tốn công sức hơn bạn nghĩ nhiều.

Hệ thống sử dụng các định danh thay đổi thay vì các hash commit truyền thống, cho phép quản lý lịch sử linh hoạt hơn. Cách tiếp cận này cho phép các tính năng như tự động rebase các nhánh phụ thuộc và quản lý patch dễ dàng hơn mà không có độ phức tạp thường liên quan đến các thao tác nâng cao của Git .

Các tính năng chính của Jujutsu so với Git:

  • Sử dụng định danh thay đổi thay vì hash commit để quản lý lịch sử linh hoạt hơn
  • Tự động rebase các nhánh phụ thuộc khi các thay đổi cơ sở được chỉnh sửa
  • Hỗ trợ tích hợp sẵn cho stacked pull request mà không cần can thiệp thủ công
  • Hoạt động như một lớp trên các repository Git , cho phép di chuyển dần dần
  • Tương thích với các hệ thống review dựa trên Git và pipeline CI/CD hiện có

Mô hình chấp nhận của cộng đồng

Một xu hướng thú vị đã nổi lên trong cộng đồng nhà phát triển về việc chấp nhận Jujutsu . Những người có kinh nghiệm thực tế với công cụ này báo cáo kết quả tích cực và tiếp tục sử dụng, trong khi sự phản kháng chủ yếu đến từ các nhà phát triển chưa thử nó. Điều này cho thấy rằng lợi ích của Jujutsu trở nên rõ ràng thông qua việc sử dụng thực tế thay vì so sánh lý thuyết.

Công cụ này đặc biệt thu hút các nhà phát triển làm việc với các chiến lược phân nhánh phức tạp và quy trình làm việc dựa trên patch. Các tính năng như quy trình megamerge và xử lý cải thiện các pull request xếp chồng đang thu hút sự chú ý từ các nhóm xử lý các quy trình phát triển phức tạp.

Những hạn chế hiện tại:

  • Hỗ trợ submodule chưa được triển khai
  • Yêu cầu học cú pháp lệnh và khái niệm mới
  • Hệ sinh thái nhỏ hơn so với bộ công cụ mở rộng của Git
  • Việc áp dụng hạn chế có nghĩa là ít tài nguyên cộng đồng và hướng dẫn hơn

Tích hợp với quy trình làm việc hiện có

Jujutsu duy trì khả năng tương thích với các hệ thống dựa trên Git hiện có, bao gồm các nền tảng đánh giá mã phổ biến như GitHub . Hệ thống dịch các bookmark nội bộ của nó thành các nhánh Git thông thường, cho phép các nhóm chấp nhận Jujutsu mà không làm gián đoạn quy trình đánh giá hiện tại hoặc pipeline CI/CD của họ.

Tuy nhiên, một số hạn chế vẫn còn. Hỗ trợ submodule vẫn đang chờ xử lý, điều này ngăn cản việc thay thế hoàn toàn Git cho các dự án phụ thuộc nhiều vào tính năng này. Mặc dù có những khoảng trống như vậy, công cụ tiếp tục phát triển với việc phát triển tích cực giải quyết những phần còn thiếu này.

Sự quan tâm ngày càng tăng đối với Jujutsu phản ánh mong muốn rộng lớn hơn trong cộng đồng nhà phát triển về các công cụ kiểm soát phiên bản duy trì sức mạnh của Git trong khi cung cấp khả năng sử dụng được cải thiện. Khi ngày càng nhiều nhà phát triển thử nghiệm với hệ thống, các lợi thế thực tế của nó đang trở nên rõ ràng hơn, có khả năng báo hiệu một sự thay đổi trong cách các nhóm tiếp cận kiểm soát phiên bản trong các dự án phần mềm phức tạp.

Tham khảo: Jujutsu + Radicle = ❤️