Вопрос

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

В частности, я ищу советы о лучших программах для использования и наилучших методах использования (ветки, проверка входа и выхода и т.д.Мне нужно изучить лучшие практики!)

Это было полезно?

Решение

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

Я обнаружил, что лучший способ изучить Mercurial - это просто использовать его в проекте.Я импортировал в Mercurial проект, который я экспортировал из subversion, и провел с ним некоторую регулярную разработку.Я позаботился о том, чтобы клонировать репозиторий для разных наборов изменений, чтобы я мог привыкнуть к объединению и обновлению.Я не изучил все продвинутые способы использования, но сейчас я нахожусь на довольно твердой почве с этим и еще не переключился обратно на Subversion.

Многие проекты используют различные методы для выполнения рабочего процесса фиксации.В некоторых есть изменения, внесенные разработчиками, например в централизованных системах, а в некоторых изменения будут внесены участниками (например, Linux).Трудно слишком много обобщать, не зная процесса вашего проекта.

Вот как я занимаюсь своим развитием:

  • Централизованное дерево на общей файловой системе или http, называемое project-trunk или project это окончательная версия проекта
  • Чистое дерево в моей системе, которое я клонирую из удаленного репозитория и использую для возврата в репозиторий.Затем я клонирую из этого дерева свои изменения.Я называю это дерево project-local
  • Клонировать project-local дерево для каждого из моих изменений:например. project-addusers, project-141, и т.д.
  • После того, как я закончу с фиксациями в дереве, я затем помещаю изменения в project-local хранилище
  • Наконец, внесите изменения в project-local Для project-trunk

У меня есть чистый project-local дерево, потому что тогда я могу поместить все наборы изменений обратно в магистраль за один раз, что полезно, если есть группа связанных изменений, которые нужно объединить обратно.

Что касается инструментов, то это зависит от вашей платформы.Я просто использую инструмент командной строки vanilla.Исходя из TortoiseSVN, это было небольшое изменение для перехода к командной строке.Но сейчас меня это устраивает.Я пытался использовать TortoiseHg, но он плохо функционировал на моей виртуальной машине Windows 7 x64.Я слышал, что это намного лучше на поддерживаемых 32-разрядных платформах.

Другие советы

Вот такой полезный учебник о Mercurial , написанном Джоэл Спольский.

В нем рассматриваются основы использования и команды, а также то, как работать с Mercurial на более концептуальном уровне.Если вы уже знакомы с SVN, то первую часть определенно стоит прочитать:в нем рассказывается об основных концептуальных различиях между SVN и Mercurial, потому что пытаться использовать Mercurial так же, как вы используете SVN, - значит напрашиваться на неприятности.

Взгляните на Переменчивая книга, или в этот Ртутный учебник.

В зависимости от вашего опыта работы с другими инструментами управления версиями я бы также предложил конкретное руководство SCM-whatever по Mercurial.Например, взгляните на это руководство для пользователей Subversion.

Еще одним хорошим ресурсом для ознакомления со всей идеей "распределенного" управления версиями является: http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/ ...с полезными диаграммами!

Если вы используете последнюю Черепаховый клиент и включите каталог установки в свою среду PATH, вы сможете использовать как приятный графический интерфейс, который они предоставляют, так и командную строку 'hg'

Я не могу рекомендовать слишком часто использовать расширения mq.Они создают отличную среду "рабочего репозитория".

Я использую очереди для управления локальными изменениями в репозитории subversion.Я вношу свои локальные краткосрочные изменения и использую mercurial для синхронизации с subversion и остальной командой.

Несколько постов Стива Лоша в блоге хороши, хотя им уже пару лет.В основном они касаются того, как работать с ветвлением.

Также стоит взглянуть на его hgtip.com Сайт.

В дополнение к книге Mercurial и руководству по инициализации Hg я хотел бы упомянуть руководство, основанное на примерах, которое я написал:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top