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 chứng minh để mở rộng phạm vi của nó. Skype là một ví dụ, và bây giờ Github là tốt.

Tuy nhiên, tin tức về việc mua lại GitHub là một vòi sen lạnh cho cộng đồng. Trong khi cá nhân tôi không bao giờ thích GitHub và coi nó là một thảm họa khả năng sử dụng, nó là đích đến để lưu trữ một số lượng lớn các dự án mã nguồn mở. Độc quyền hiếm khi lành mạnh, và kết thúc (cản trở) của GitHub chứng minh tất cả hơn một lần nữa.

May mắn thay, có rất nhiều hệ thống kiểm soát phiên bản khác để 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 cho chúng, các lựa chọn là khá tốt. Nếu bạn là một trong những nhà phát triển tìm cách chuyển đổi 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 tự lưu trữ vì bạn không muốn tin tưởng người khác bằng mã quý giá của mình, đúng không?

1. GitLab

Ngay cả trước khi GitHub đi vào tay kẻ xấu, GitLab là một lựa chọn khá phổ biến. Bây giờ tôi hy vọng nó sẽ thu hút sự chú ý nhiều hơn nữa. GitLab là mã nguồn mở và phiên bản cốt lõi của nó là miễn phí. Cũng có các phiên bản trả phí; họ bắt đầu với mức 4 đô la cho mỗi người dùng mỗi tháng. Đó là một công cụ vòng đời DevOps hoàn chỉnh với chức năng lập kế hoạch, thử nghiệm, đóng gói và phát hành. Nó đi kèm với một wiki và các tính năng theo dõi vấn đề, quá. Bạn có thể triển khai GitLab hoặc trong đá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 hơn Gogs. Nó đi kèm với sẵn sàng để sử dụng nhị phân 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 khác mà Go chạy. Gogs nhẹ và nhanh, và mặc dù nó không có tất cả các tính năng của bộ đồ đắt tiền lớn, nó đi kèm với một wiki, theo dõi lỗi, kiểm soát phiên bản, v.v.

3. Trac

Trac là một lựa chọn tuyệt vời nếu bạn đang tìm kiếm một thay thế GitHub tối giản. Về cơ bản, Trac là một wiki nâng cao và hệ thống theo dõi vấn đề cho các dự án phát triển phần mềm. Để kiểm soát phiên bản, nó sử dụng Git và Subversion, nhưng nó cũng có thể làm việc với hàng chục người khác (ví dụ Mercurial, Perforce, vv). 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 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. Trong thực tế, lợi thế chính của nó là sự tương đồng với 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, theo dõi vấn đề, 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 thành các đối tượng Git. Mercurial không phải là sự 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 bởi vì nó tốt, nền tảng chéo, và đi kèm với một tấn phần 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 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ó. Xét về các tính năng, việc cài đặt lõi không phải là tâm-thổi, nhưng có phần mở rộng cho hầu hết mọi thứ có thể tưởng tượng được.

Có hoặc không có GitHub, cuộc sống vẫn tiếp diễn. Đừng thương tiếc GitHub quá nhiều - nó có thể là một điều tốt mà bây giờ thuộc sở hữu của Microsoft. Điều này sẽ kích thích sự tăng trưởng của các lựa chọn thay thế của nó, và tôi tin rằng một số trong số đó sẽ trở nên tốt hơn GitHub mà chúng ta biết ngày nay.