четверг, 8 октября 2015 г.

Mercurial tips

Буквально по крупицам собранные команды, которые часто пригождаются на уровне джуниор:

получим свежие изменения с ремоут репозитория:
> hg pull
перейдем в голову ведущей ветки (пусть это будет master)
> hg up master
создадим веточку для работы
> hg branch MY-BRANCH

Творим в ней чего-нибудь, как готовы коммитить:
смотрим что поменялось:
> hg st
добавим новый файлик
> hg add file.php
если вы вдруг забыли на какой ветке находитесь:
> hg branch
если хочется посмотреть все ветки репозитория (учтите, веток может быть много):
> hg branches
если хочется увидеть изменения в файле:
> hg dif file.php
если хочется отменить изменения в файле:
> hg revert file.php
Коммитим:
> hg ci -m "Message for commit"
Если требуется пушить:
> hg push
Если в пуше есть новая ветка, то просто так запушить не удастся:
> hg push --new-branch
Если хочется запушить только конкретную ветку:
> hg push -b MY-BRANCH
Если хочется запушить только конкретную новую ветку:
> hg push --new-branch -b MY-BRANCH

Переходим к мержу. Перед мержем тянем новые изменения через pull.
Далее, находясь в нашей ветке, мержим с мастером:
> hg merge master
Если все хорошо - вам будет напомнено не забыть покоммитить. Коммитим, пушим.
Если есть конфликты - смотрим список конфликтов:
> hg resolve -l
Открываем конфликтные файлики и правим. После отмечаем конфликты разрешенными:
> hg resolve -m file.php
После разрешения всех конфликтов - коммитим, пушим.

Посмотреть историю (история вываливается вся, разобраться сложно):
> hg log
посмотреть 10 последних записей в истории:
> hg log -l 10
посмотреть 15 последних записей в истории ветки:
> hg log -b MY-BRANCH -l 15
Самый хитрый ход - через hg log нельзя посмотреть локальные коммиты (незапушенные в ремоут), поэтому делаем так:
> hg outgoing

Накопал на stackoverflow, часто не использовал:
смотрим изменения в file.php (-1 - предыдущая ревизия)
> hg diff -r -1:. file.php
вывод всех изменений между головными коммитами веток BRANCH1 и BRANCH2:
> hg diff -r BRANCH1:BRANCH2
вывод списка измененных файлов между резизиями/бранчами:
> hg st --rev BRANCH1:BRANCH2

За дополнительной инфой hg help {command}:
> hg help add
> hg help log
И google.

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

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