Tại sao nhiều lập trình viên chuyển mã của họ sang github?


114

Trong 6 tháng trở lên, tôi đã thấy nhiều mã được lưu trữ tại sourceforge.net cũng như các trang web lưu trữ khác "Chuyển tới GitHub". Một Tìm kiếm Google đơn thuần với cụm từ "Đã chuyển đến Github" trả về một số kết quả có chứa văn bản được chuyển đến github. Điều này rất khó hiểu đối với tôi và tôi tự hỏi, tại sao chính xác là mọi người di chuyển? Điều đó có nghĩa là GitHub tốt hơn hay có một lợi thế đặc biệt nào đó mà tôi không thấy?


16
Tôi cũng sẽ thêm rằng không có trang web nào giúp dễ dàng tương tác với mã hơn github. Hầu hết các trang web ẩn mã nguồn đằng sau một số menu. Github cũng bao gồm các liên kết đến bất kỳ nhiệm vụ nào khác mà bạn có thể ở ngay trên nhà dự án mà không cần tất cả rác ở mọi nơi (nhìn vào bạn sourceforge ).
Xeoncross

2
Tôi đã tự hỏi điều tương tự, vì vậy tôi đã đi và đăng ký, và tôi cũng sớm được bán. Tôi đã chuyển tất cả các dự án của mình và cũng có tất cả các khách hàng của mình trên tàu.
lorddev

7
bởi vì github là một nơi tốt đẹp và git tốt hơn cvs?

4
SourceForge bắt đầu thêm phần mềm quảng cáo vào các bản phát hành nhị phân Windows của nhà phát triển; một trong những máy chủ phân phối của SF tại Hàn Quốc đã bị xâm phạm.
Deer Hunter

1
Laucnpad là một tội phạm thậm chí còn tồi tệ hơn trong việc che giấu nguồn. Điều nổi bật là một số "Sê-ri và các mốc quan trọng" -> thân cây -> "Mã cho sê-ri này: Nhánh sau đã được đăng ký làm nhánh chính cho chuỗi phát hành này: lp: ~ USER / PROJ / trunk" -> một siêu dữ liệu khác trang cho thân cây? mã ở đâu ồ vâng, -> "Duyệt mã" ... Thật ra bây giờ tôi cuối cùng cũng nhận thấy có "Duyệt mã" ngay trên trang đầu tiên. Nhưng tất cả các trang siêu dữ liệu khác nhau nhưng khác nhau này đều gây hoang mang.
Beni Cherniavsky-Paskin

Câu trả lời:


102

Đây là một triệu chứng của việc di chuyển rộng hơn sang các hệ thống kiểm soát phiên bản phân tán .

Một số trang web truyền thống lưu trữ VCS không phân tán (ví dụ Codeplex & SourceForge) hơi chậm trong việc thêm hỗ trợ cho DVCS (ví dụ: Git hoặc Mercurial). Vì vậy, những người muốn sử dụng DVCS cho dự án của họ đã buộc phải chuyển các dự án của họ sang các nhà cung cấp hỗ trợ họ (ví dụ: Github hoặc BitBucket). Github là một trong những người đầu tiên cung cấp hỗ trợ DVCS và do đó, rất nhiều người đã di chuyển mã của họ đến đó để tận dụng lợi thế của nó.

Các trang web khác hiện chỉ bắt đầu bắt kịp DVCS (ví dụ Codeplex hiện hỗ trợ Mercurial & Git), nhưng chúng vẫn còn chậm hơn về các tính năng như giả mạo và gửi yêu cầu kéo. Để thực sự tận dụng lợi thế của DVCS Github và Bitbucket vẫn là những lựa chọn tốt nhất.


46
Cũng lưu ý rằng tính năng của GitHub nhanh chóng trở nên hấp dẫn hơn bất kỳ trình duyệt DVCS nào khác được cung cấp (bao gồm cả tự lưu trữ). Vì vậy, một phần của câu trả lời là GitHub gợi cảm. :-)
Martijn Pieters

49
@MartijnPieters: ... ngoại trừ lưu trữ riêng miễn phí, mà BitBucket đã cung cấp từ lâu.
Den

17
Các trang web khác cung cấp DVCS. Trong trường hợp cụ thể của SourceForge, tôi chỉ nghĩ đơn giản là lý do là trang web này hoàn toàn khủng khiếp, đừng bận tâm đến các hệ thống kiểm soát phiên bản được hỗ trợ.
Konrad Rudolph

17
@Den Yea, tôi thực sự không biết tại sao BitBucket không phổ biến hơn. Nó có lưu trữ riêng và cho phép bạn chọn giữa Git hoặc Mercurial (mà tôi thích Mercurial hơn rất nhiều)
Earlz

11
Github và Bitbucket hoạt động trên hai mô hình kinh doanh khác nhau. Github cung cấp gần như 'tính năng đầy đủ của nó được đặt miễn phí và khiến bạn phải trả tiền cho các repos riêng tư (loại bỏ các gói Đồng miễn phí mà nó cung cấp cho bất kỳ ai có địa chỉ email .edu . Bitbucket cung cấp cả lưu trữ công cộng và riêng tư nhưng tính phí cho bạn về năng suất [hy vọng] Nếu bạn không có lý do gì để giấu mã của mình, Github có vẻ như là mô hình hợp lý hơn. Tôi nghĩ rằng Bitbucket đang xuất hiện - Tôi chắc chắn thích Sourcetree hơn GUI git bản địa của Github (không phải tôi thực sự sử dụng một trong hai) ..
David Cowden

45

Dự án lưu trữ là cơ sở hạ tầng. Cơ sở hạ tầng thể hiện các hiệu ứng mạng, có nghĩa là cơ sở hạ tầng trở nên hữu ích hơn khi càng có nhiều người kết nối với nó. (Cụ thể, tính hữu dụng là O (number_of_connections), có nghĩa là đối với bất kỳ thành viên riêng lẻ nào, đó là O (Total_members) và đối với toàn bộ hệ thống, đó là O (Total_members ^ 2)). Điều này, đến lượt nó, dẫn đến một hiệu ứng gọi là độc quyền tự nhiên, có nghĩa là tự nhiên đối với một hệ thống mà chỉ có một đối thủ cạnh tranh sẽ tồn tại, vì tính hữu dụng được tối đa hóa khi mọi người sử dụng cùng một hệ thống.

Vì vậy, nó có ý nghĩa để tham gia dẫn đầu thị trường, đó là GitHub. Có nhiều kho lưu trữ hơn, nhiều người dùng hơn, nhiều chi nhánh hơn, nhiều sửa đổi hơn, mọi thứ trên GitHub nhiều hơn trên SourceForge, Google Code và CodePlex cộng lại .

Tất nhiên, câu hỏi thú vị là nếu hiệu ứng mạng có nghĩa là người dẫn đầu thị trường tự động có được sự độc quyền tự nhiên, làm thế nào GitHub có thể phá vỡ SourceForge?

Và câu trả lời là, bằng cách trở nên nổi bật làm nỗi đau của gia nhập một cơ sở hạ tầng nhỏ hơn nhiều là giá trị nó cho sớm chấp nhận:

  • GitHub là người đầu tiên cung cấp dịch vụ lưu trữ Git với một bộ tính năng có thể so sánh với SourceForge (hoặc ít nhất là một phần của SourceForge mà hầu hết mọi người sử dụng)
  • GitHub thật tuyệt, từ quan điểm UI: giao diện người dùng Web hiện đại, bóng bẩy
  • GitHub rất tuyệt, khôn ngoan về công nghệ: Ruby on Rails, Sinatra, Erlang, node.js
  • GitHub là Web 2.0, tập trung vào Mã hóa xã hội và Người dùng trên các dự án

6
+1 cho giải thích hiệu ứng mạng. Nhưng tôi thực sự nghĩ rằng SourceForge lớn hơn Github rất nhiều trước khi những cuộc di cư tràn lan bất ngờ ... và bạn gần như là một nhân viên của Github ...
Chibueze Opata

2
Ngoài ra, hãy xem xét việc tạo GitHub cho máy khách Windows - lần đầu tiên, với tư cách là nhà phát triển Windows, tôi không cảm thấy mình là công dân hạng hai khi sử dụng Git để kiểm soát nguồn và GitHub chịu trách nhiệm về điều đó.
Carson63000

25

Tôi nghĩ một trong những lý do là đối tượng khác nhau: sourceforge chủ yếu để lưu trữ các ứng dụng , có lẽ tính năng nổi bật nhất của trang dự án là liên kết đến tệp thực thi được biên dịch (hoặc một số tải xuống khác). Nói cách khác, nó nhắm vào người dùng , không phải nhà phát triển.

Mặt khác, github chủ yếu để lưu trữ mã nguồn , tính năng nổi bật nhất của trang dự án là danh sách thư mục của masterchi nhánh. Nó nhắm mục tiêu vào các nhà phát triển (muốn sửa đổi hoặc sử dụng mã từ một dự án), không phải người dùng.

Tôi nghĩ rằng đây là một trong những lý do tại sao các công cụ và thư viện nhắm mục tiêu của nhà phát triển đang chuyển sang github.


15

Sourceforge cũng cung cấp Git , nhưng Github chỉ làm tốt hơn (hiện tại).

  • Hệ thống yêu cầu kéo của họ hoạt động độc đáo (tốt hơn nhiều so với Gitorious chẳng hạn)
  • Thông báo nâng cấp gần đây của họ là rất thuận tiện.
  • Họ hiển thị mã ngay lập tức

Theo tôi, tính năng sát thủ của chúng là "Biểu đồ mạng":

nhập mô tả hình ảnh ở đây

Sự khác biệt với gitk: nó cũng cho bạn thấy những gì đang diễn ra trong các chi nhánh của người khác (mà không phải kéo chi nhánh của họ), điều này rất quan trọng khi cộng tác.


10
+1 Chúng ta đều biết rằng cuối cùng, đồ thị là tất cả vấn đề.
Xeoncross

2
Nó cũng tuyệt vời để tìm chi nhánh duy trì nhất. Gần đây tôi đã phải tìm ra ngã ba nào của một kho lưu trữ nào đó thực sự được duy trì (không tầm thường vì các dĩa cập nhật hơn chưa trôi nổi trên đầu tìm kiếm của google).
beatgammit

1
Ngoài ra, có vẻ như github có thể hiển thị số liệu thống kê nhân bản, trong khi tôi không thể tìm thấy một cách duy nhất để làm điều đó trên sourceforge :(
Aquarius Power

11

GitHub đơn giản, dễ sử dụng, dễ bắt đầu, mạnh mẽ và trông tuyệt vời và là Web 2.0-ish.

Tôi sử dụng GitHub và tôi thấy nó dễ sử dụng hơn SourceForge, nó có sức mạnh ẩn sau một loạt các menu và yêu cầu các thao tác khá phức tạp để thiết lập mọi thứ. Và tôi là một lập trình viên.

Ngoài ra, tôi nghĩ có một tính năng mạnh mẽ hơn: cho dù một cá nhân muốn xuất bản dự án nguồn mở đầu tiên của họ ở đâu đó hay các nhóm muốn hợp tác trong một dự án thương mại (riêng tư), GitHub "cân đối" hoàn toàn tốt cho hầu hết tất cả trường hợp sử dụng.

Cuối ngày, tôi nghĩ đó là về tâm lý con người. Là sản phẩm dễ sử dụng, dễ bắt đầu sử dụng, rẻ tiền (hoặc miễn phí) ... nó có tốt không và nó có phải là thứ tôi muốn giới thiệu cho bạn bè không? Đối với GitHub, tôi sẽ trả lời có cho tất cả những câu hỏi đó.


Với mã Google, tôi có thể đánh dấu sao các vấn đề, cho phép các nhà phát triển biết vấn đề nào quan trọng đối với cộng đồng và giúp tôi theo dõi tiến trình. Github dường như chỉ có theo dõi ẩn danh, điều này có thể dẫn đến spam nhận xét (+1, tôi cũng vậy, v.v.). Điều này rất có ý nghĩa đối với các dự án phổ biến với nguồn lực hạn chế.
beatgammit

5

Bạn cũng đã tính đến một số tính năng đập nhỏ được cung cấp bởi github mà tôi chưa thấy được đề cập.

  • trang github với markith hương vị github
  • ứng dụng di động github
  • plugin nhật thực github
  • github cho mac
  • công việc github
  • github cho các cửa sổ
  • hệ thống theo dõi lỗi / bán vé của github
  • api nhà phát triển github cho phép tích hợp bên thứ ba liền mạch
  • cập nhật / cải tiến giao diện người dùng thường xuyên (bạn có thể thấy các thay đổi từ ngày này sang ngày khác tức là hộp văn bản tìm kiếm hiện đang tự động mở rộng trên tiêu điểm , đồng hồ trở thành nút sao mới, v.v.)
  • github gists (tốt cho các tập lệnh tiện ích, đoạn mã ngắn, v.v.)
  • tích hợp github liền mạch qua trung tâm

Các trang web khác có thể có các tính năng này nhưng tôi khá chắc chắn rằng không có trang web nào ngoài đó có tất cả.

Những kẻ này thực tế ở khắp mọi nơi ... từ từ phân tán các tính năng kỹ thuật của họ trên web và máy tính để bàn. Họ chỉ trở nên lớn hơn và tốt hơn khi chúng ta nói và họ thuê những kỹ sư giỏi nhất (họ thậm chí còn tìm cách đánh cắp Phil Haack từ Microsoft ... đi con số).


4

Một lý do nữa có thể thu hút các nhà phát triển bổ sung cho GitHub là các công cụ dành cho nhà phát triển đang bắt đầu nắm lấy git và các nền tảng như Eclipse hiện có hỗ trợ Git được tích hợp sẵn (áp dụng cho các gói dành cho Java, C ++ Developers, v.v.) phải mất ít bước hơn để dự án của bạn được tải lên GitHub.


1
Một IDE khác có thêm hỗ trợ Git là Visual Studio, trong phiên bản 2013 trở lên. Xem msdn.microsoft.com/en-us/l
Library / hh850437.aspx

-1

Thành thật mà nói, điều quan trọng nhất của Git đối với bản thân tôi khi tôi nhìn thấy nó: 1. Biểu đồ mạng hoặc tôi nên gọi Lịch sử (cũng bình luận) 2. Yêu cầu chi nhánh và kéo 3. Thực sự mạnh mẽ hơn, tôi sẽ nói như vậy cảm giác như tôi có một thư ký nắm giữ tất cả công việc của mình, và tôi có thể nói rằng giây đó đã viết ra bất cứ điều gì cho tôi, sự thay đổi, mọi thứ! 4. Thật dễ dàng để quay trở lại

Chỉ nó thôi. Cảm thấy gợi cảm khi sử dụng nó


err, tại sao tôi nhận được dưới đây?
Benyamin Limanto

Mặc dù tôi nghĩ rằng bạn có ý định tốt trong việc trả lời câu hỏi, tôi không nghĩ rằng câu trả lời của bạn bổ sung nhiều vào câu trả lời như OP đang yêu cầu. Có vẻ như câu trả lời của bạn cho "Tại sao các lập trình viên chuyển mã của họ sang github?" là "bởi vì tôi thích nó". Các câu trả lời khác ở đây có lẽ tốt hơn và đó là lý do tại sao một người nào đó bị hạ thấp.
Frank Bryce
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.