phdru.name / Russian / Software / VersionControl

Mercurial против git

Mercurial и git - две наиболее популярные распределённые системы контроля версий. Отличие их от всяких CVS/SVN - в отсутствии выделенного центрального сервера. Каждый репозиторий хранит полную историю проекта, ни один не является более важным, чем другой.

Здесь я сравню их в том небольшом объёме, в котором я успел их изучить.

Функционально Mercurial и git абсолютно эквивалентны. Многие команды у них совпадают в точности, некоторые отличаются с точностью до наоборот (hg pull = git fetch, hg fetch = git pull). Для некоторых действий бывает, что то, что в одном из них делается одной командой, в другом требует 3-5 действий. Ни один не выигрывает у другого, поэтому сравнивать их придётся по совершенно второстепенным критериям..

Для обеих программ существует хорошая документация - мануалы, сайты с книгами, wiki-сайты. Оба набора документации подробные, приводят не только описание отдельных команд, но и типовые сценарии работы.

Mercurial написан на портабельном Питоне, хорошо работает в Windows, имеет встроенные средства для работы на файловых системах, не различающих регистров имён файлов. Git был написан линуксоидами для Линукса на смеси C, shell и Perl, для работы в Windows требует эмулятор POSIX - Cygwin или MSYS. Здесь Mercurial выигрывает.

Самый популярный хостинг Mercurial - BitBucket - позволяет создавать неограниченное количество приватных репозиториев даже на бесплатном плане. Два самых популярных хостинга git - GitHub и Gitorious - не дают бесплатно приватных репозиториев вовсе. И здесь Mercurial слегка выигрывает.

Резюме - Mercurial выиграл, но с очень незначительным перевесом.


Эта страница http://phdru.name/Russian/Software/VersionControl/hg_git.html была сгенерирована 08.06.2014 в 20:51:47 из шаблона CheetahTemplate hg_git.tmpl; Некоторые права зарезервированы. Вы можете узнать о технических аспектах этого сайта.