Sau khi Microsoft mua lại GitHub, nhiều nhà phát triển đã tìm kiếm các giải pháp thay thế để lưu trữ mã của họ. Microsoft (và nhiều công ty khổng lồ khác) có thói quen mua một công nghệ / trang web / sản phẩm đã được kiểm chứng để mở rộng phạm vi tiếp cận. Skype là một ví dụ, và giờ đây Github cũng vậy.
Tuy nhiên, tin tức về việc mua lại GitHub là một cơn mưa rào đối với cộng đồng. Mặc dù cá nhân tôi không bao giờ thích GitHub và coi đó là một thảm họa về khả năng sử dụng, nhưng nó lại là điểm đến cần thiết để lưu trữ một lượng lớn các dự án mã nguồn mở. Độc quyền hiếm khi lành mạnh và phần cuối (cản trở) của GitHub một lần nữa chứng minh điều đó.
May mắn thay, có rất nhiều hệ thống điều khiển phiên bản khác cho bạn lựa chọn. Không phải tất cả chúng đều có tất cả các chức năng của GitHub, nhưng tùy thuộc vào những gì bạn cần chúng, các lựa chọn khá tốt. Nếu bạn là một trong những nhà phát triển muốn chuyển từ GitHub, chúng tôi sẽ liệt kê ở đây một số lựa chọn thay thế - tất cả chúng đều được tự lưu trữ vì bạn không muốn tin tưởng người khác có mã quý giá của mình, phải không?
1. GitLab
Ngay cả trước khi GitHub rơi vào tay kẻ xấu, GitLab đã là một giải pháp thay thế khá phổ biến. Bây giờ tôi hy vọng nó sẽ thu hút nhiều sự chú ý hơn. GitLab là mã nguồn mở và phiên bản cốt lõi của nó là miễn phí. Có cả các phiên bản trả phí; họ bắt đầu từ $ 4 cho mỗi người dùng mỗi tháng. Đây là một công cụ hoàn chỉnh trong vòng đời DevOps với chức năng lập kế hoạch, thử nghiệm, đóng gói và phát hành. Nó cũng đi kèm với một wiki và các tính năng theo dõi vấn đề. Bạn có thể triển khai GitLab trong nhà hoặc trên đám mây.
2. Gogs
Nếu cài đặt không đau là mối quan tâm hàng đầu của bạn, thì không có gì tốt hơn cho bạn ngoài Gogs. Nó đi kèm với các tệp nhị phân sẵn sàng sử dụng cho Windows, Linux, Mac và Raspberry Pi, nhưng bạn cũng có thể sử dụng Go để cài đặt nó trên bất kỳ nền tảng nào khác mà Go chạy. Gogs nhẹ và nhanh và mặc dù không có tất cả các tính năng của những bộ quần áo đắt tiền nhưng nó đi kèm với wiki, theo dõi lỗi, kiểm soát phiên bản, v.v.
3. Trác
Trac là một lựa chọn tuyệt vời nếu bạn đang tìm kiếm một giải pháp thay thế GitHub tối giản. Về cơ bản, Trac là một hệ thống theo dõi vấn đề và wiki nâng cao dành cho các dự án phát triển phần mềm. Đối với kiểm soát phiên bản, nó sử dụng Git và Subversion, nhưng nó cũng có thể hoạt động với hàng chục phiên bản khác (ví dụ:Mercurial, Perforce, v.v.). Với chức năng báo cáo tốt, Trac là một lựa chọn tốt nếu bạn phải theo dõi thường xuyên và chặt chẽ tiến độ của các dự án.
4. GitBucket
GitBucket là một bản sao GitHub được viết bằng Scala. Nó không có nhiều tính năng như các ứng dụng khác trong danh sách. Trên thực tế, ưu điểm chính của nó là tương tự như GitHub. Nói cách khác, nếu bạn bắt đầu thiếu GitHub, bạn luôn có thể sử dụng GitBucket. Các tính năng của nó bao gồm trình xem kho lưu trữ, theo dõi sự cố, yêu cầu kéo và wiki. Bạn có thể mở rộng chức năng của nó với sự trợ giúp của các plugin, nhưng đừng mong đợi quá nhiều từ chúng.
5. Mercurial
Không giống như các phần mềm khác trong danh sách này, Mercurial hoàn toàn khác với GitHub vì nó không sử dụng máy chủ Git, mặc dù bạn có thể chuyển đổi dữ liệu Mercurial của mình thành các đối tượng Git. Mercurial không phải là giải pháp thay thế máy chủ không git duy nhất của GitHub - có nhiều hệ thống kiểm soát phiên bản khác, chẳng hạn như Perforce, Subversion, v.v., bạn có thể sử dụng để quản lý mã nguồn của mình.
Tôi bao gồm Mercurial vì nó tốt, đa nền tảng và đi kèm với rất nhiều tiện ích mở rộng. Ngoài ra, nhiều người bạn của tôi, những người đã sử dụng cả GitHub và Mercurial, nói rằng Mercurial dễ sử dụng hơn nhiều. Tôi cũng thích kiến trúc phân tán của nó. Về mặt tính năng, cài đặt cốt lõi không đáng chú ý, nhưng có những tiện ích mở rộng cho hầu hết mọi thứ có thể tưởng tượng được.
Dù có hay không có GitHub, cuộc sống vẫn tiếp diễn. Đừng thương tiếc GitHub quá nhiều - có thể là một điều tốt khi nó hiện thuộc sở hữu của Microsoft. Điều này sẽ kích thích sự phát triển của các lựa chọn thay thế và tôi tin rằng một số trong số chúng sẽ trở nên tốt hơn so với GitHub mà chúng ta biết ngày nay.