Tại sao sự gia tăng đột ngột số lượng người gửi Git trên biểu đồ popcon Debian trong năm 2010-01?


86

Hầu như mọi bài viết tôi đã đọc 1 so sánh Git và Mercurial, có vẻ như Mercurial có dòng lệnh UX tốt hơn với mỗi lệnh chỉ giới hạn trong một ý tưởng (không giống như nói git checkout).

Nhưng tại một số thời điểm, Git đột nhiên trở nên cực kỳ phổ biến và số lượng người gửi Git trên biểu đồ popcon Debian (xem hình ảnh biểu đồ bên dưới) thực sự bùng nổ.

Phổ biến Git so với Mercurial

Nguồn: Debian

Điều gì đã xảy ra vào năm 2010-01 mà mọi thứ đột nhiên thay đổi. Có vẻ như GitHub được thành lập sớm hơn thế - 2008.


23
tốt tại một số điểm github đạt một điểm uốn và cất cánh. Tôi nghi ngờ đó là git của chính nó. Tôi tự hỏi nếu ai đó có thể tương quan gits populatrity với github phổ biến?
Doug T.

2
Trên thực tế, vì tò mò, "số lượng người nộp" đại diện cho cái gì?
Adam Houldsworth

6
Bạn có tò mò về mức độ phổ biến của Git hoặc cài đặt Git trên Debian không? Dữ liệu của bạn chỉ cung cấp thông tin về một bản phân phối Linux, bỏ qua mọi bản phân phối Linux khác, cùng với các hệ điều hành BSD, Mac và Windows, nhưng bạn đang hỏi một câu hỏi chung về sự gia tăng sử dụng công cụ. Dựa trên một số câu trả lời, có một lời giải thích cụ thể về Debian, nhưng không đủ dữ liệu để nói về mức độ phổ biến của Git so với mức độ phổ biến của Mercurial đối với tất cả người dùng tiềm năng. Có vẻ như câu hỏi như được trình bày dựa trên các giả định sai lầm.
Thomas Owens

32
Git theo nghĩa đen bùng nổ? Git hoàn toàn không giống một công cụ an toàn. Cảm ơn đã cảnh báo.
Jason

4
Chỉ là một mặc dù, nhưng git được sử dụng trong một số lượng lớn các gói khác. Hãy xem sự khác biệt giữa apt-cache rdepends git-core, và apt-cache rdepends mercurial. Có lẽ nó không có gì để làm với git khác sau đó nó được bao gồm bởi vì ai đó đã cài đặt một số gói phổ biến khác. Ví dụ: tôi là người sử dụng etckeeper và ikiwiki, cả hai đều dựa trên git (tôi nghĩ rằng cũng có thể sử dụng đồng bóng). Tôi đề nghị bạn dành chút thời gian và xem xét tất cả những điều khác nhau phụ thuộc hoặc Đề xuất git-core.
Zoredache

Câu trả lời:


48

Gói "gnuit" (Công cụ tương tác GNU, trình duyệt tệp / trình xem và trình xem quy trình) được gọi là "git" trong Debian cho đến 2009-09-09, trong khi git được gọi là "git-core".

Do đó, một biểu đồ tốt hơn để xem xét là:

Điều đó cho thấy mức độ phổ biến không tăng đáng kể (lấy đường màu xanh lá cây cho phần bên trái cho đến khi chúng vượt qua, sau đó lấy đường màu đỏ).


17
Nó vẫn xuất hiện vào năm 2010/2011, đã có sự nổi tiếng mạnh mẽ. Nó đã đi từ khoảng 13 nghìn lượt cài đặt git-core (là Git) trong năm 2010-01 đến hơn 50 nghìn lượt cài đặt (tích lũy các gói git-core và git) trong năm 2011-01. Đó là mức tăng gần 40 nghìn lượt cài đặt trong một năm - tăng mạnh hơn nhiều so với bất kỳ mức tăng hàng năm nào khác.
Thomas Owens

3
Ai đó trên HN đã chỉnh sửa hình ảnh và dường như vẫn có một sự gia tăng mạnh mẽ như @ThomasOwens đề cập. i.imgur.com/PmYj7.png
Thợ săn rừng

2
Vâng, nó vẫn đi từ tăng trưởng tuyến tính đến cấp số nhân, điều này rất có ý nghĩa, ngay cả khi nó không hoàn toàn đột ngột như lần đầu tiên xuất hiện
Ben Brocka

3
@BenBrocka Không phải là thực sự đi từ tuyến tính sang tuyến tính với hệ số cao hơn sao? :) Và cuối cùng nó sẽ có khả năng là logarit.
kreativitea

2
@RussellBorogove: Vô nghĩa. Số lượng llamas bay phát quang sinh học ở Djibouti đang tăng theo cấp số nhân, và tôi hy vọng điều đó sẽ tiếp tục mãi mãi.
Ốc cơ khí

34

Gói git trong Debian trước đây được gọi là git-core. Vào tháng 4 năm 2010, gói đã được đổi tên thành git. Thông tin chi tiết có thể được tìm thấy trong bài đăng trên blog này của Julius Plenz hoặc cam kết này trong Debian .

Dưới đây là biểu đồ cho thấy số lượt cài đặt của cả hai gitgit-coretheo thời gian:

Đồ thị Git-GitCore


1
Sẽ thật tuyệt khi có một ảnh chụp màn hình của biểu đồ ở đây. Nếu bạn thích tôi có thể thêm nó. :)
Thợ săn rừng

1
+1. Biểu đồ này thể hiện rõ nhất những gì đã xảy ra với việc đổi tên gói.
Jeff Ferland

26

Tôi đã sử dụng Darcs cho các dự án của riêng tôi trong một thời gian ngắn. Tôi đã chuyển sang git trong quá trình thăng thiên nhanh chóng mà biểu đồ của bạn đang đề cập đến, vì vậy đây là quan sát của tôi:

Hệ thống kiểm soát nguồn phân tán tại thời điểm đó là một điều khó khăn. Những người được gọi là lập trình viên alpha đã sử dụng chúng ở bên cạnh, nhưng họ đã nằm ngoài radar của hầu hết các nhà phát triển phần mềm chuyên nghiệp. Cách nhìn thế giới CVS / SVN / SourceSafe / TFS là một điều mà các lập trình viên nói chung ít nhiều hài lòng và hầu hết mọi người đều cho rằng các vấn đề sinh ra hệ thống kiểm soát nguồn phân tán có thể được khắc phục bằng công cụ tốt hơn. Giống như bạn đã có một sự cải thiện bằng cách đi từ CVS -> SVN rằng một ngày nào đó sẽ có thứ gì đó cho phép bạn đi SVN -> SVN ++. Làm thế nào khác bạn sẽ quản lý kiểm soát nguồn?

Rồi đến git. Điều buộc git vào radar của mọi người là có một dự án lớn , công khai ngay lập tức áp dụng nó. Git có rất nhiều người dùng miễn phí - nếu bạn định thực hiện hack kernel nghiêm trọng, bạn đã sử dụng git. Mặc dù tôi không thể chắc chắn 100%, tôi sẽ đặt cược rằng tại thời điểm đó, không có DVCS nào khác có cơ sở người dùng lớn như vậy.

Sau đó, nó làm việc. Nó hoạt động tốt. Nó hoạt động tốt trong công chúng. Nó cũng, đối với các mụn cóc ban đầu, ổn định hơn hầu hết các DVCS đồng thời tại thời điểm đó. Darcs, chẳng hạn, có thể được đưa vào một trạng thái không nhất quán đòi hỏi một sự phức tạp vô lý (bậc hai? Factor? Không thể nhớ lại, nhưng nó rất tệ ) để sửa chữa. Git luôn ổn định hơn.

Từ cơ sở người dùng lớn của nó, nó chỉ loại ra.

Mỗi dự án, thương mại hoặc nguồn mở, cần khối lượng quan trọng đó. Darcs đã không nhận được nó. Mercurial cũng không. Nghĩ lại. Rất nhiều dự án nhỏ hơn sử dụng nó. Có lẽ thậm chí có một số người dùng thương mại. Nhưng câu chuyện thành công lớn của bạn là gì?

"Nếu nó đủ tốt cho nhân Linux, thì nó đủ tốt cho bạn" là một lập luận rất thuyết phục.

Vì vậy, để tóm tắt, nó là một sản phẩm tốt xuất hiện đúng lúc và có một lượng người dùng lớn, tận tụy.


4
Tôi nghĩ rằng cả git và hg bắt đầu vào khoảng năm 2005, đến năm 2010 chúng là công nghệ 5 năm tuổi. Tôi sẽ không gọi họ là chủ đạo, nhưng tôi cũng không nghĩ rằng cạnh chảy máu là chính xác.
R0MANARMY

10
Làm thế nào mà trả lời câu hỏi được hỏi? "Điều gì đã xảy ra trong năm 2010-01 mà mọi thứ đột nhiên thay đổi" như được hiển thị tại ảnh chụp màn hình
gnat

2
@gnat Đó là giai đoạn chảy máu / giai đoạn quan trọng mà tôi đang đề cập đến.
Michael

4
@Michael theo cách tôi nhìn thấy, câu trả lời của bạn không giải thích nhiều về điều đó. Với tất cả sự tôn trọng, cách nói củabây giờ trông giống như một phỏng đoán hoang dã, một phát súng trong bóng tối. "Hồi đó vào tháng 1 năm 2010, tôi cảm thấy như nó đang đến, có gì đó trong không khí ..." Xin lỗi rất không hữu ích
gnat

1
Các vấn đề sinh ra kiểm soát nguồn phân tán đã được khắc phục bằng cách sử dụng công cụ tốt hơn. SVN ngày nay tốt hơn nhiều so với phiên bản cũ mà mọi người DVCS dường như vẫn còn hiện tại và nó khắc phục các vấn đề cố hữu với mô hình cũ mà không đưa ra tất cả các vấn đề đau đầu mới và sự phức tạp bổ sung mà DVCS mang đến.
Mason Wheeler

13

Tôi là người chấp nhận muộn - chuyển từ Mercurial sang Git vào khoảng năm 2010.

Lý do tôi tin rằng Git trở nên phổ biến là vì các trang web như GitHub bạn có hiệu ứng mạng trong các công cụ kiểm soát phiên bản. Điều này trước đây không được nhìn thấy, vì bạn sẽ chia sẻ mã trên cơ sở dự án hoặc công ty.

Tôi đặc biệt nhớ việc chuyển sang Git và Github bởi vì tất cả các dự án mà tôi quan tâm theo dõi và đóng góp đã thực hiện tương tự, cũng như các nhà phát triển mà tôi liên kết.

Đó là một hiệu ứng mạng.

GitHub là lớp cộng tác dựa trên web phổ biến nhất được xây dựng trên DVCS và Git cuối cùng đã 'đủ tốt'. Mercurial chắc chắn dễ học và dễ sử dụng hơn, Git có nhiều sắc thái, nhưng có một thương hiệu vững chắc vì Linus.

Chỉ vì GitHub ra mắt vào năm '8 và sự tăng trưởng bắt đầu từ '10 không có nghĩa là GitHub không chịu trách nhiệm. Nếu bạn nhìn vào các biểu đồ tăng trưởng cạnh tranh trong các lĩnh vực khác như mạng xã hội và sự tăng trưởng của Facebook thì dòng này rất giống nhau.

Bạn không thấy các biểu đồ tăng trưởng như thế mà không có hiệu ứng mạng / vòng lặp virus.

Ví dụ. so sánh với biểu đồ tăng trưởng của Facebook

biểu đồ tăng trưởng facebook

Cập nhật: Tôi biết nguồn ở trên có thể không chính xác, nhưng có rất nhiều nguồn dữ liệu chứng minh rằng Git đã tăng theo cấp số nhân trong vài năm qua.

Biểu đồ 1: Đề cập đến Git trong quảng cáo tuyển dụng

đề cập đến git trong quảng cáo việc làm

Và khảo sát Eclipse cho thấy thị phần Git đã tăng từ 13% năm 2011 lên 27% vào năm 2012 . Tăng trưởng tuyệt vời.

Bài đăng này làm cho một lời giải thích tốt hơn nhiều về tăng trưởng Git và hiệu ứng mạng so với những gì tôi đã làm ở đây.


9
Có một sự khác biệt lớn giữa mức tăng theo cấp số nhân (như chúng ta thấy với biểu đồ facebook) và biểu đồ ban đầu câu hỏi bao gồm. Nếu đồ thị đó được tin tưởng, có một sự gián đoạn đáng kể về độ dốc tại một điểm cụ thể - điều đó sẽ ngụ ý một số sự kiện đã xảy ra, không phải là hiệu ứng mạng. Và thực sự, có vẻ như từ các câu trả lời khác rằng sự kiện này là gói được đổi tên! :)
bắt đầu

Biểu đồ này có thể sai, nhưng có những khảo sát khác mà chứng minh rằng sự tăng trưởng của Git đã được mũ. Ví dụ. Khảo sát Eclipse như được thảo luận trong bài viết này (điều này làm cho cùng một điểm tôi đang thực hiện, nhưng theo cách tốt hơn nhiều): jamesmckay.net/2012/06/ Thẻ
nikcub

Liên kết mckay bị hỏng. Đây là phiên bản Wayback Machine .
Faheem Mitha

5

Chỉ cần làm rõ, biểu đồ này cho thấy việc cài đặt git trên các hệ thống debian.

Trong khoảng thời gian tăng đột biến, gói Debian đã được đổi tên từ git-core thành git. Có lẽ mọi người tìm thấy gói dễ dàng hơn bây giờ khi tên phản ánh phần mềm.


5

Tôi ngạc nhiên không ai nhắc đến Github là một trong những lý do lớn nhất để Git trở nên nổi tiếng . Họ đẩy git chủ đạo.

Github ra mắt vào tháng 4 năm 2008 và trong vòng 1-2 năm, họ đã trở nên nổi tiếng. Và sau đó khi bạn thấy sự bùng nổ đột ngột của việc sử dụng git / git-core chủ yếu là do người dùng github 2 triệu và kho lưu trữ 3,7 triệu của họ. Github làm git dễ sử dụng. Bitbucket đã ở đó, nhưng github đã làm cho nó dễ dàng. Tôi chắc chắn nếu những người github chọn Hg thay cho git, chúng ta sẽ thấy sự gia tăng tương tự trong việc sử dụng Hg.

Tương tự có thể là: Canonical: Linux :: Github: Git


Tôi hoàn toàn đồng ý. Github làm cho kiểm soát sửa đổi trở nên thú vị, dễ hiểu và rất hữu ích với tất cả các kho lưu trữ nguồn mở này. Theo ý kiến ​​của họ, lý do tại sao Git trở nên lớn như vậy.
d34n5

1

Chà, IMHO, các VCS phân tán như Hg và Git vốn đã tốt hơn một VCS tập trung - vì vậy SVN luôn thua một trong số họ.

Và git, như đã được quan sát, có lợi thế rất lớn so với Hg, nó được sử dụng bởi dự án nguồn mở lớn nhất và thành công nhất trên hành tinh - đó là một địa ngục của hồ sơ theo dõi, ngay từ đầu.

Về lý do tại sao vụ nổ bất ngờ vào đầu năm 2010, dự đoán của tôi là khá bình thường. Git là tuyệt vời, nhưng nó không trực quan ồ ạt cho người mới bắt đầu.

Cuốn sách Git hay nhất, IMHO, là Pro Git, được xuất bản vào tháng 9 năm 2009. Cuốn sách hay thứ hai (lại là IMHO), cuốn sách Git của O'Reilly, được xuất bản vào tháng 6 năm 2009.

Vì vậy, lý do sử dụng Git bùng nổ vào đầu năm 2010 có thể đơn giản như thực tế đó là khi tài nguyên thực sự tốt để học cách sử dụng nó trở nên có sẵn.


1
SVN chưa bao giờ là một VCS tập trung hàng đầu khi nói đến việc phân nhánh và sáp nhập. Hg và Git là các VCS mã nguồn mở đầu tiên đối phó tốt với việc phân nhánh và sáp nhập. Tôi không nghĩ rằng tập trung / phân phối có nhiều việc phải làm với nó.
Ian

1

Chọn một hệ thống kiểm soát phiên bản là một quyết định xã hội. Tất cả các đội cần sử dụng cùng một giải pháp. Trái ngược với trình soạn thảo văn bản, đó là một quyết định cá nhân - các nhà phát triển khác nhau có thể sử dụng các trình soạn thảo khác nhau và dễ dàng cộng tác.

Vì vậy, có các hiệu ứng mạng để chọn một hệ thống kiểm soát phiên bản, khiến các hệ thống có thể tốt hơn một chút hoặc phổ biến hơn một chút để trở nên phổ biến hơn.

Ví dụ, tôi thích darcs cho các dự án nguồn mở, nhưng thấy rằng nhiều người đóng góp tiềm năng của tôi đã quen thuộc với git và tôi đã nhận được nhiều đóng góp dễ dàng hơn cho các dự án được lưu trữ bằng git thay vì darcs. Vì vậy, tôi kết thúc việc sử dụng git rất nhiều thay vì darcs. Sau đó, vì tôi sử dụng nó và xuất bản mã trên Github, có vẻ như tôi tán thành nó hoặc thậm chí có thể thích nó, điều này có thể ảnh hưởng đến người khác sử dụng nó.

Các nhà phát triển không muốn tìm hiểu một hệ thống kiểm soát nguồn mới cho từng dự án mà họ đóng góp, vì vậy nó mang lại lợi ích cho cộng đồng nói chung để có một tiêu chuẩn "đủ tốt" và phổ biến rộng rãi, sau đó để mọi nhóm và dự án chọn "tốt nhất "Giải pháp trong chân không.

Github chỉ thêm nhiên liệu vào lửa của hiệu ứng mạng.


-1

Nhìn vào biểu đồ đã sửa trong câu trả lời của Michael, hiển thị cả git-core và git trên các hệ thống Debian, câu hỏi dường như là tại sao git bắt đầu trở nên phổ biến vào năm 2006 trên các hệ thống Debian và tại sao nó lại tăng theo cấp số nhân trong giai đoạn 2006-2012.

Lý do có thể là sự chấp nhận mạnh mẽ các bản phân phối Linux dựa trên Debian, như Ubuntu, bắt đầu trở nên phổ biến vào khoảng năm 2005-2006 và trở thành bản phân phối số 1 cho đến khoảng năm 2011, khi Mint, cũng dựa trên Debian, trở thành số 1. Vào cuối năm 2012, Mint vẫn là # 1 và Ubuntu # 3 theo DistroWatch .

GitHub, được thành lập năm 2008, cung cấp dịch vụ lưu trữ git miễn phí và từ năm 2008 đến 2012 đã trở thành dịch vụ lưu trữ nguồn số 1 trên thế giới với ~ 2,5 triệu người dùng và ~ 4,5 triệu dự án , theo Wikipedia vào cuối năm 2012.

Rails và nhiều dự án khác đã chuyển từ Rubyforge sang GitHub vào cuối những năm 2000. Ngoài ra, Bundler được giới thiệu vào khoảng thời gian ban đầu được đề cập (cuối năm 2009) với sự hỗ trợ cài đặt / cập nhật đá quý thông qua một :gittùy chọn trong Gemfile và Bundler được đưa vào như một phần phụ thuộc của Rails 3. Các dự án trong Python, Javascript, C, C ++ , Java, CSS, v.v. cũng được di chuyển đến hoặc bắt đầu trên GitHub.

Những người muốn đóng góp cho các dự án trên GitHub cần phải phân nhánh dự án trong GitHub, sử dụng ứng dụng khách git cục bộ để sao chép kho lưu trữ trước khi sửa đổi và đẩy chúng trở lại GitHub và thực hiện yêu cầu kéo. Điều này đơn giản hơn nhiều so với các phương pháp khác được sử dụng trước đây và được cho là một lý do quan trọng rằng nó đã được thông qua bởi các dự án chuyển đến GitHub hoặc quyết định bắt đầu từ đó. Điều này có nghĩa là git-core / git cần được cài đặt trong các bản phát hành dựa trên Debian để các nhà phát triển có thể sử dụng GitHub.

Vì vậy, tôi tin rằng đó là sự kết hợp giữa các bản phân phối dựa trên Debian trở nên phổ biến và ngày càng tăng việc áp dụng git vì sự phát triển của người dùng và dự án của GitHub, có thể xuất phát từ trải nghiệm lưu trữ và người dùng miễn phí của GitHub.


-2

Tôi nghĩ rằng rất nhiều người đang nhầm lẫn mối tương quan với quan hệ nhân quả.

Các biểu đồ trình bày tất cả các mối tương quan giữa các biện pháp phổ biến và sự kiện ... và các biện pháp khác. Tuy nhiên, một mối tương quan không phải là bằng chứng rõ ràng cho quan hệ nhân quả.

Một số câu trả lời khác cố gắng vẽ mối quan hệ với những thứ khác; ví dụ Linus Torsvalds truyền giáo cho DVCS, hình thành Github, sự trỗi dậy của mạng xã hội. Mặc dù có bằng chứng về mối tương quan (trên dòng thời gian) không mạnh bằng, nhưng điều đó không loại trừ nguyên nhân. Đặc biệt nếu bạn chấp nhận giả thuyết "hiệu ứng mạng"; tức là có nhiều nguyên nhân.

Điểm mấu chốt, là loại bằng chứng có sẵn không thể hiển thị quan hệ nhân quả. Chúng ta đang nói về hành vi tập thể của hàng trăm ngàn người, và mọi người đưa ra quyết định vì những lý do khác nhau ... hoặc không có lý do logic nào cả. Lập trình viên không khác ai.

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.