Введение в Mercurial - PullRequest
13 голосов
/ 08 мая 2009

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

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

Ответы [ 7 ]

14 голосов
/ 05 марта 2010

Вот полезное руководство по Mercurial, написанное Джоэл Спольски .

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

14 голосов
/ 08 мая 2009

Я знаю, что у вас уже есть сайт 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-битных платформах.

5 голосов
/ 08 мая 2009

Взгляните на Mercurial book или на Mercurial tutorial .

2 голосов
/ 10 мая 2009

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

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

2 голосов
/ 08 мая 2009

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

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

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

1 голос
/ 29 декабря 2011

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

Также стоит посмотреть на его hgtip.com сайт.

0 голосов
/ 26 декабря 2011

В дополнение к Mercurial Book и учебнику Hg Init, я хотел бы упомянуть написанное мной руководство на примере:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...