Какую систему управления версиями посоветуете?

Есть сервер на CentOS, на нем сайт на php, есть тестовая версия сайта, нужно организовать работу команды, чтобы можно было синхронизироваться сначала на тест версию, потом выкатывать обновление на основной сайт. Выбираем между SVN, Git и Mercurial. Какие плюсы и минусы у этих систем?
  • Вопрос задан
  • 5700 просмотров
Пригласить эксперта
Ответы на вопрос 7
На Хабре уйма статей про VCS, со сравнением и священными войнами в комментах.
Я бы сразу вычеркивал из этого списка SVN — централизованная система со всеми присущими ей проблемами (упал сервак — потеряли код; нет копии сорцов у каждого разработчика и т.д.), нелогичное ветвление (считай, его отсутствие) и прочее.

Выбирать есть смысл из Git и Mercurial. На гите сидит больше народу, есть куча мануалов, howto, обучалок и прочего. Если интересует свой корпоративный сервак, есть отличный фронтенд Gitlab, а если разрабатываете opensource или есть деньги, можно захоститься на популярном Github.
Для Mercurial есть замечательный Bitbucket (хотя, git они тоже поддерживают).
Удобства работы с консолью, ровно как и работа с GUI для этих систем я бы поставил на один уровень.
Идеологически системы по-разному хранят историю. На гите огромные репозитории (от 1Гб, хотя для Вас это вряд ли актуально) работаю плохо из-за хранения полных слепков файлов, на mercurial хранятся мелкие изменения, поэтому репозитории не такие жирные. В целом, для подавляющего большинства проектов на эту разницу можно забить.

Я использую Git, и не имею с ним никаких проблем. Очень хорошая, продуманная и быстрая VCS.
Ответ написан
Комментировать
MuXaJIbI4
@MuXaJIbI4
Mercurial
Ответ написан
Комментировать
charon
@charon
по описанию проблемы подходят все три. Я бы порекомендовал Git, как самый современный и распространённый.
Ответ написан
Комментировать
rvller
@rvller
Отдам голос за Hg — реально порог вхождения ниже. Собственно даже терминологии меньше, а возможности есть все, которые нужны обычному разработчику.
Ответ написан
Комментировать
@edelweard
Главное — DVCS, т. е. Git или Mercurial. Централизованная система всегда хуже распределённой.
Дальше уже дело вкуса. Я предпочитаю Гит, но это потому, что я хорошо его знаю ;) Говорят, что у Меркуриала ниже порог вхождения, но для Гита есть прекрасная книга: Pro Git, которая позволяет быстро войти в курс дела…
Ответ написан
Комментировать
giner
@giner
Команда большая?
Ответ написан
B7W
@B7W
Если у вас разработчики не linux фрики, попробуйте hg. Как уже упоминали, он проще, в особенности под windows. Имеет приятную графическую обертку.
Не бойтесь ошибиться, если поймете что не ваше — есть способы переехать на git.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы