Подтвердить что ты не робот

Введение в Mercurial

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

Вот полезный учебник о Mercurial, написанный Joel Spolsky.

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

Ответ 4

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

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

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

Ответ 5

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

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

Ответ 6

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

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

Ответ 7

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

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