В своем втором посте, я писала об инструментах, которые я использую при работе с версткой, где среди прочего указывала систему контроля версий Mercurial TortoiseHg. И сегодня, в связи с участившимися запросами по этой теме, я решила рассказать о ней более подробно.
Сразу хочу оговориться, что я использую далеко не все ее широкие возможности, потому что работаю с ней недавно, но если вы до этого не слышали о tortoisehg, или планируете начать ею пользоваться, вам должно быть интересно.
Для чего нужна система контроля версий?
Как подсказывает сам вопрос, система контроля версий нужна для хранения и контроля версий проекта над которым вы ведете работу. Если у вас возникнет вопрос для чего нужно хранить версии, то я могу объяснить.
- Во-первых для того чтобы сберечь собственные нервы, потому что если вдруг что-то пойдет не так, или вы случайно испортите какие-либо файлы, всегда была возможность вернуться на предыдущий этап.
- Во-вторых чтобы сэкономить собственное время, просматривая какие именно изменения вносились в ваш проект другими людьми, в результате которых он перестал нормально работать
- В третьих чтобы иметь возможность вести одновременную работу над будущей системой, а затем быстро и безболезненно объединять все фрагменты в один проект.
Список можно еще немного продолжить, но я думаю не стоит, потому что выдвинутых аргументов должно быть вполне достаточно. Системы контроля версий бывают разные, в частности мне известны SVN и Mercurial. У каждой системы есть свои поклонники, мне пока не доводилось работать с SVN, поэтому мы сегодня поговорим о Mercurial, а точнее о графической оболочке к ней под названием TortoiseHg.
С чего начать?
Начать нужно с непосредственной установки TortoiseHg, скачать последнюю версию можно отсюда. Процесс установки я думаю ни у кого сложностей не вызовет, отдельно Меркуриал устанавливать не нужно, посколько он интегрирован в Tortoise. Вот и все, теперь у вас есть своя система контроля версий, и все ее широкие возможности, доступные всего лишь по правому клику мыши.
Создание репозитория
Правила работы разберем на примере. Допустим у нас есть обычный html-файл, хрянящийся в папке works. Для того чтобы следить за историей его изменений, нам нужно создать репозиторий, где эти изменения будут хранится. Для этого следует нажать правой кнопкой мыши на папке works, вызвав контекстное меню, и выполнить команду TortoiseHg – “Create a repository here”.
После выполнения этой команды, внутри папки works, появится папка с именем .hg, в которой и будут храниться все отмеченные версии файлов. При этом следует заметить, что расположение самой папки works, не имеет никакого значения, репозиторий всегда будет создаваться внутри текущей папки.
Ну вот место для хранения версий есть, остается указать что именно мы будем хранить. Меркуриал, как нетрудно догадаться не хранит каждое ваше изменение, потому как это не удобно и не очень-то нужно. А хранить он будет то, что вы ему укажете.
Для того чтобы создать первую, начальную версию нашего проекта, снова вызовем контекстное меню на папке works и выполним команду TortoiseHg – “Commit”.
Следует заметить, что команда Commit, становится доступной из контекстного меню, только после создания репозитория. На экране должно появится окно следующего вида:
Здесь мы можем отметить все или конкретные файлы, по которым будем отслеживать изменения. И конечно же нужно ввести имя для сохраняемой версии. Поскольку мы отмечаем первую версию проекта, то так ее и назовем. Затем нажимаем кнопку Commit, и все наша первая версия проекта сохранена.
Хорошенько запомните комманду Commit (одно из значений в английском – фиксировать), поскольку она является основной при работе с Mercurial. То есть после того как вы внесли какие-либо серьезные изменения, или просто сделали очередной этап работы, зафиксируйте изменения, в виде следующей ветки проекта.
Внесение изменений
Теперь внесем несколько незначительных изменений в наш файл. Прежде чем мы зафиксируем следующий этап работы над нашим проектом, мы можем проследить какие именно изменения были внесены, после сохранения последней версии. Для этого, опять же из контекстного меню, нужно выполнить команду: TortoiseHg – “VisualDiff”. На экране отобразится следующее окошко:
Окно разделено на две области, левая область (как нетрудно догадаться) отображает прежний вариант файла, правая то что было изменено. Здесь можно внимательно проанализировать внесенные изменения, и если нужно отменить их, с помощью команды “Undo Changes”, доступной все по тому же контекстному меню. Здесь хорошо можно видеть, что мы добавили заголовок H1.
Если же все изменения вас устраивают, то можно смело выполнять команду “Commit”, и сохранять вторую версию нашего проекта. После этого можно посмотреть историю версий проекта, по команде TortoiseHg – “View Changelog”.
Здесь можно увидеть все отмеченные этапы разработки, список измененных файлов и внесенных в них изменений на каждом этапе. Этапы нумеруются с нуля.
И это еще не все
У tortoiseHg, есть множество других возможностей, таких как объединение нескольких веток разработки в одну, отслеживание состояния файлов, возможность создавать клон репозитория на флешке, для работы на разных компьютерах, синхронизация репозиториев и др.
А я сегодня рассказала о необходимом минимуме, который я считаю должен использовать каждый веб-разработчик.
Leave a Reply