Каковы плюсы и минусы системы контроля версий Git и Hg? - PullRequest
3 голосов
/ 02 июня 2009

Сейчас я в состоянии выбрать, какую систему контроля версий, поэтому я хотел бы получить некоторые комментарии от опытных разработчиков, которые использовали их. Какой я должен использовать и в каком состоянии?

Ответы [ 6 ]

8 голосов
/ 02 июня 2009

Google Code недавно выбрал Mercurial вместо Git для своей системы. В своем анализе они обнаружили, что Mercurial

  • имел более легкую кривую обучения
  • была хорошая поддержка Windows
  • было проще поддерживать
  • работает быстрее по HTTP

см. http://code.google.com/p/support/wiki/DVCSAnalysis

5 голосов
/ 02 июня 2009

Помните, что Git и Mercurial - это DVCS (Distributed Control Version), который сильно отличается от Central VCS. См. основные понятия ТАК вопрос, чтобы получить различия.

В противном случае вы также можете обратиться к Эрику Веблогу, где " Git - это Уэсли Снайпс. Mercurial - это Дензел Вашингтон ";)

Я выбрал Bazaar и Git для опыта. Но если бы я выбирал DVCS в качестве обычного пользователя, я бы выбрал Mercurial. [...]
Люди восхищаются Дензелом Вашингтоном. Но Уэсли Снайпс просто интереснее.

Лично я нахожу Git более интуитивным с точки зрения ветвления и клонирования репозитория, но Hg лучше поддерживает Windows (хотя я довольно доволен msysgit )

См. Также "Разница между Git и Mercurial" ТАК вопрос, в частности:
" Git - МакГайвер, а Mercurial - Джеймс Бонд ";)

2 голосов
/ 02 июня 2009

Недавно пользователи GitHub выпустили бета-версию Hg-Git , которая призвана беспрепятственно преодолеть разрыв между этими двумя системами контроля версий:

Это плагин Hg-Git для Mercurial, добавляющий возможность отправлять и извлекать из Git-сервера хранилище из Hg. Это означает, что вы можете сотрудничать в проектах на основе Git из Hg или использовать Git-сервер в качестве точки сотрудничества для команды разработчиков, использующих Git и Hg.

С надежными хранилищами данных бэкэнда в Mercurial и Git, я думаю, что грань между этими двумя конкурирующими системами контроля версий в ближайшем будущем станет довольно размытой.

2 голосов
/ 02 июня 2009

Оба достаточно надежны и универсальны. Посмотрите, что используют коллеги и проекты верхнего уровня, поскольку использование одной и той же VCS облегчает совместную работу.

Как разработчик с открытым исходным кодом, вы неизбежно вступите в контакт со всеми распространенными VCS '. Может быть полезно посмотреть, какие системы выбрали различные проекты. Python, Mozilla, OpenJDK являются пользователями Mercurial. Многие небольшие проекты используют Git, особенно в веб-пространстве. И, конечно, если вы занимаетесь ядром, вам нужно использовать Git.

Я использую Git для своих программных проектов, а также для создания версий своей документации, и меня вполне устраивает его надежность и удобство использования, простота ветвления и слияния и т. Д.

Mercurial (с которым у меня ограниченный личный опыт) обладает лучшей переносимостью (окна и т. Д.).

0 голосов
/ 02 июня 2009

Я не удосужился использовать любой из этих двух, но я надеюсь, что эти ссылки могут быть полезны:

0 голосов
/ 02 июня 2009

Честно говоря, у меня ограниченный опыт работы с Git, а у Hg нет опыта, но одна вещь, которую я упускаю из-за svn, performance и т. Д., Несколько раз, когда я использую это, это хороший номер ревизии с низким целым числом, который я могу сообщить другим разработчикам.

В остальном, Git был довольно фантастическим; это упрощает ветвление, которое я использую в тонне, и его можно использовать в автономном режиме, что очень удобно при разработке на моем ноутбуке.

Также Github = Великолепно.

...