пятница, 29 октября 2010 г.

Освоение Mercurial на практике. Основные процессы. Часть 1 - Хранение Логов

Эта статья открывает собой цикл статей, являющихся переводом официального руководства по Mercurial. Итак к делу:

При помощи Mercurial вы можете использовать множество различных процессов. Эта статья расскажет о некоторых из них, включая примеры практического применения. Она предназначена для начинающих работу с системами контроля версий и позволит начать работу мгновенно и последовательно обучаться. В ней вы не найдете глубокого объяснения употребляемых понятий, поскольку есть другие большие ресурсы, на которых они описаны, например wiki и the hgbook.

Если вам необходимо более исчерпывающее руководство по основам Mercurial, то обратите свое внимание на wiki-руководство. Для по-настоящему глубокого и детального восприятия посмотрите книгу Mercurial: Полное руководство.


Примечание: Данное руководство не требует каких-либо предварительных знаний о системах контроля версий (хотя пользователи Subversion, вероятно, почувствуют себя как дома довольно быстро). Будут полезными знания основ работы с командной строкой, потому что мы будем использовать в основном её.

Пример использования

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

Этот процесс требует только установленного Mercurial и права на запись в некоторое файловое хранилище (у вас почти наверняка оно есть:)). Здесь демонстрируются основные техники для более сложных рабочих процессов.

Процесс

Подготовка Mercurial

На первом шаге вы должны обучить Mercurial своему имени. Для этого вам нужно открыть в текстовом редакторе файл ~/.hgrc и добавить в него ui-секцию (user interaction(англ.) - взаимодействия с пользователем) с именем вашего пользователя:

[ui]
username = Mr. Johnson <johnson@smith.com> 

Инициализация проекта

Теперь создадим новую папку, в которой хотим работать (назовем её project):

$ hg init project

Добавление и отслеживание файлов

$ cd project
$ (добавление файлов)
$ hg add
$ hg commit
(ввод описания фиксации)

Примечание: Так же вы можете перейти в уже существующую директорию и создать репозиторий в ней:
$ cd project
$ hg init
Или же вы можете добавить только определенные файлы, а не все файлы, содержащиеся в каталоге. Mercurial будет отслеживать только эти файлы и не будет знать о других. Следующие говорит Mercurial отслеживать все файлы, имена которых начинаются с "file0", а также file10, file11 и file12.
$ hg add file0* file10 file11 file12

Сохранение изменений

$ (некоторые изменения)

Посмотреть, какие файлы были изменены, какие добавлены или удалены и которые еще не отслеживаются:

$ hg status

Просмотр точных изменений:

$ hg diff

Зафиксировать изменения (commit):

$ hg commit

Затем откроется редактор и попросит вас ввести описание фиксации. После сохранения и закрытия редактора ваши изменения буду сохранены Mercurial


Примечание: Так же вы может вставлять описание фиксации напрямую через
$ hg commit -m 'MESSAGE'.

Перемещение и копирование файлов

Когда вы копируете или перемещаете файлы, вы должны указать Mercurial копировать или переместить их для вас. Так Mercurial может отслеживать связи между файлами.

Не забывайте проводить фиксацию (commit)после перемещения или копирования. Из основных комманд только commit создает новую ревизию (revision)

$ hg cp original copy
$ hg commit
(ввод описания фиксации)
$ hg mv original target
$ hg commit
(ввод описания фиксации)

Теперь у вас есть два файла: "копия" ("copy") и "целевой" ("target"); и Mercurial знает, как они связаны между собой


Примечание: Если вы вдруг забыли сделать явное копирование или перемещение, вы все еще можете указать Mercurial обнаружить изменения через
$ hg addremove --similarity 100
Для получения справки используйте
$ hg help addremove

Проверка вашей истории

$ hg log

Эта команда выводит список изменений вместе с их датой, именем пользователя, который произвел фиксацию и описание фиксации

Чтобы посмотреть определенную ревизию (revision), вы можете использовать параметр -r (-revision). Чтобы увидеть изменения отображаемой ревизии, используйте ключ -p (-patch)

$ hg log -p -r 3

Комментариев нет:

Отправить комментарий