Почти в каждой статье, которую я прочитал 1, сравнивая Git и Mercurial, кажется, что у Mercurial лучшая UX командной строки, где каждая команда ограничена только одной идеей (в отличие от, скажем git checkout
).
Но в какой-то момент Git неожиданно стал очень популярным, и число отправителей Git на графике попконов Debian (см. Рисунок ниже) буквально взорвалось.
Источник: Debian
То, что произошло в 2010-01, что вещи внезапно изменились. Похоже, GitHub был основан раньше, чем в 2008 году.
apt-cache rdepends git-core
, иapt-cache rdepends mercurial
. Возможно, это не имеет ничего общего с git other, тогда он включен, потому что кто-то установил какой-то другой общий пакет. Например, я пользователь etckeeper и ikiwiki, которые оба основаны на git (я думаю, что также возможно использовать Mercurial). Я предлагаю вам занять некоторое время и взглянуть на все различные вещи, которые зависят или рекомендуют git-core.Ответы:
Пакет «gnuit» (GNU Interactive Tools, файловый браузер / просмотрщик и просмотрщик процессов) назывался git в Debian вплоть до 2009-09-09, а git назывался «git-core».
Следовательно, лучший график для просмотра:
Что показывает, что популярность резко не выросла (возьмите зеленую линию для левой части, пока они не пересекутся, затем возьмите красную линию).
источник
Пакет git в Debian ранее назывался
git-core
. В апреле 2010 года пакет был переименован вgit
. Более подробную информацию можно найти в этом сообщении в блоге Юлиуса Пленца или в коммите Debian .Вот график, который показывает количество установок как во времени, так
git
иgit-core
во времени:источник
Я использовал Darcs для своих собственных проектов некоторое время. Я переключился на git во время быстрого восхождения, на которое ссылается ваш график, поэтому вот мое наблюдение:
Распределенные системы контроля источников примерно в то время были самым передовым. Так называемые альфа-программисты использовали их на стороне, но они не попадали в поле зрения большинства профессиональных разработчиков программного обеспечения. С точки зрения CVS / SVN / SourceSafe / TFS на мир программисты в целом были более или менее довольны, и большинство людей полагало, что проблемы, которые породили распределенную систему контроля версий, можно было бы исправить с помощью лучшего инструментария. Так же, как вы получили улучшение, перейдя из CVS -> SVN, что когда-нибудь будет что-то, что позволит вам перейти SVN -> SVN ++. Как еще вы будете управлять исходным кодом?
Затем пришел мерзавец. Что заставило задуматься о том, что у всех есть радар, так это огромный публичный проект, который сразу же принял его. Git получил много пользователей бесплатно - если вы собираетесь серьезно взломать ядро, вы использовали git. Хотя я не могу быть на 100% уверен, я бы поспорил, что на тот момент ни у одной другой DVCS не было такой большой базы пользователей.
Тогда это сработало. Это сработало хорошо. Это хорошо сработало на публике. Кроме того, для начальных бородавок он был более стабильным, чем большинство одновременных DVCS в то время. Например, Даркса можно было привести в противоречивое состояние, для которого требовалось исправить нелепо сложную (квадратичную? Факториальную? Не могу вспомнить точно, но она была плохую ) утилиту. Git всегда был более стабильным.
Из его большой пользовательской базы он просто кровоточил.
Каждый проект, коммерческий или открытый, нуждается в этой критической массе. Даркс не понял этого. Также как и Mercurial. Передумать. Множество небольших проектов используют его. Вероятно, есть даже несколько коммерческих пользователей. Но какова ваша большая история успеха?
«Если это достаточно хорошо для ядра Linux, это достаточно хорошо для вас» - очень убедительный аргумент.
Подводя итог, можно сказать, что это был хороший продукт, который появился в нужное время и получил большую преданную базу пользователей.
источник
Я был поздним последователем - с 2010 года перешел с Mercurial на Git.
Я считаю, что Git стал настолько популярным, потому что на таких сайтах, как GitHub, у вас был сетевой эффект в инструментах контроля версий. Раньше такого не было, так как вы делитесь кодом на основе проекта или компании.
Я особенно помню, как переключился на Git и Github, потому что все проекты, в которых я был заинтересован и участвовал, делали то же самое, а также разработчиков, с которыми я общаюсь.
Это сетевой эффект.
GitHub был самым популярным сетевым слоем для совместной работы, построенным на DVCS, и Git оказался «достаточно хорошим». Mercurial, конечно, было легче изучать и использовать, у Git много нюансов, но благодаря Линусу у него был солидный бренд.
То, что GitHub был запущен в 2008 году, а рост начался в 10 году, не означает, что GitHub не несет ответственности. Если вы посмотрите на графики конкурентного роста в других областях, таких как социальные сети и рост Facebook, линия очень похожа.
Вы не видите таких графиков роста без эффекта вирусной петли / сети.
Например, сравнить с диаграммой роста Facebook
Обновление: я знаю, что приведенный выше источник, возможно, не был точным, но есть много источников данных, которые демонстрируют, что Git рос в геометрической прогрессии за последние несколько лет.
График 1: Упоминания о Git в объявлениях о работе
И опрос Eclipse, который показывает, что доля рынка Git увеличилась с 13% в 2011 году до 27% в 2012 году . Удивительный рост.
Этот пост дает гораздо лучшее объяснение росту Git и сетевым эффектам, чем то, что я сделал здесь.
источник
Просто чтобы прояснить, этот график показывает установку git в системах Debian.
Примерно в то время, когда происходит всплеск, пакет Debian был переименован из git-core в git. Может быть, люди нашли пакет проще теперь, когда название отражает программное обеспечение.
источник
Я удивлен, что никто не упомянул Github как одну из главных причин популярности Git . Они выдвинули git mainstream.
Github запущен в апреле 2008 года, и в течение 1-2 лет они приобрели популярность. И затем, когда вы видите внезапный взрыв использования git / git-core, в первую очередь это связано с 2 миллионами пользователей github и их 3.7 миллионами хранилищ. Github сделал Git простым в использовании. Bitbucket был там, но Github сделал это без усилий. Я уверен, что если бы ребята из github выбрали Hg вместо git, мы бы увидели такой же всплеск использования Hg.
Аналогия может быть: Canonical: Linux :: Github: Git
источник
Ну, IMHO, распределенные VCS, такие как Hg и Git, по своей природе лучше, чем централизованные VCS, поэтому SVN всегда собирался проиграть одному из них.
И git, как уже отмечалось, имел огромное преимущество перед Hg в том, что его использовал крупнейший и самый успешный проект с открытым исходным кодом на планете - это чертовски хороший послужной список с самого начала.
Относительно того, почему внезапный взрыв в начале 2010 года, мое предположение довольно прозаично. Git великолепен, но он не очень интуитивно понятен для новичка.
Лучшая книга о Git, IMHO, это Pro Git, которая была опубликована в сентябре 2009 года. Вторая лучшая (опять же IMHO), книга Git О'Рейли, была опубликована в июне 2009 года.
Таким образом, причина, по которой использование Git взорвалось в начале 2010 года, может быть столь же простой, как тот факт, что именно тогда стали доступны действительно хорошие ресурсы для изучения того, как его использовать.
источник
Выбор системы контроля версий - это социальное решение. Команде всем нужно использовать одно и то же решение. В отличие от текстового редактора, который является личным решением - разные разработчики могут использовать разные редакторы и легко сотрудничать.
Таким образом , при выборе системы контроля версий существуют сетевые эффекты, в результате чего системы, которые могут быть немного лучше или чуть более популярными, становятся еще более популярными.
Например, я предпочитаю darcs для проектов с открытым исходным кодом, но обнаружил, что больше моих потенциальных участников были знакомы с git, и я с большей готовностью получал больше вкладов для проектов, размещаемых с помощью git вместо darcs. Итак, я больше не использую git вместо darcs. Затем, поскольку я использую его и публикую код на Github, кажется, что я одобряю его или даже предпочитаю, что может повлиять на его использование другими.
Разработчики не хотят изучать новую систему контроля версий для каждого проекта, в который они вносят свой вклад, поэтому всему сообществу выгодно иметь «достаточно хороший» и широко популярный стандарт, а затем каждую команду и проект выбирать «лучших» Решение в вакууме.
Github только подлил масла в огонь сетевого эффекта.
источник
Глядя на исправленный график в ответе Майкла, показывающий как git-core, так и git в системах Debian, возникает вопрос, почему git стал популярным в 2006 году в системах Debian и почему он вырос в геометрической прогрессии в период между 2006-2012 гг.
Причиной может быть активное внедрение дистрибутивов Linux на основе Debian, таких как Ubuntu, который стал популярным в 2005-2006 годах и стал дистрибутивом № 1 вплоть до 2011 года, когда Mint, также основанный на Debian, стал # 1. В конце 2012 года Mint по-прежнему # 1 и Ubuntu # 3 в соответствии с DistroWatch .
GitHub, основанная в 2008 году, предоставляла бесплатный хостинг Git, а в период с 2008 по 2012 год стала первой в мире услугой для хранения репозиториев с ~ 2,5 миллионами пользователей и ~ 4,5 миллионами проектов , согласно Wikipedia в конце 2012 года.
Rails и многие другие проекты перешли с Rubyforge на GitHub в конце 2000-х годов. Кроме того, Bundler был представлен примерно в то время, о котором идет речь (в конце 2009 года), с поддержкой установки / обновления гемов с помощью
:git
опции в Gemfile, а Bundler был включен в качестве зависимости от Rails 3. Проекты на Python, Javascript, C, C ++ Java, CSS и т. Д. Также были перенесены на GitHub или запущены на нем.Те, кто хотел внести свой вклад в проекты на GitHub, должны были раскошелиться на проект в GitHub, использовать локальный клиент git для клонирования репозитория, прежде чем вносить изменения и отправлять их обратно в GitHub и выполнять запрос на извлечение. Это было намного проще, чем другие методы, использовавшиеся ранее, и, вероятно, было значительной причиной того, что он был принят проектами, которые перешли на GitHub или решили начать там. Это означало, что git-core / git необходимо было установить в дистрибутивы на основе Debian, чтобы разработчики могли использовать GitHub.
Поэтому я считаю, что именно сочетание дистрибутивов на основе Debian становится все более популярным и все более популярным среди пользователей git из-за роста числа пользователей и проектов GitHub, что, вероятно, связано с бесплатным хостингом и пользовательским опытом GitHub.
источник
Я думаю, что многие люди путают взаимосвязь с причинностью.
Все представленные графики показывают корреляцию между показателями популярности гитлеров и событиями ... и другими показателями. Однако корреляция не является явным доказательством причинно-следственной связи.
Некоторые другие ответы пытаются установить отношения с другими вещами; Например, евангелизация Линуса Торсвальдса для DVCS, образование Github, рост социальных сетей. Хотя есть свидетельства корреляции (на временной шкале) не так сильно, это не исключает причинно-следственной связи. Особенно, если вы принимаете гипотезу «сетевого эффекта»; то есть, что есть несколько причин.
Суть в том, что имеющиеся доказательства не могут показать причинно-следственную связь. Мы говорим о коллективном поведении сотен тысяч людей, и люди принимают решения по разным причинам ... или вообще без логической причины. Программисты ничем не отличаются от других.
источник