Краткая справка по работе с системами контроля версий Git и Mercurial для начинающих.

В большей степени пишу для себя, чтобы не собирать потом информацию по кусочкам с форумов, так что уж не обессудьте.

Работа с Mercurial:
Добавить новый репозиторий (пример для каталога /test/):

Разрешаем системному пользователю доступ к репозиторию, для чего редактируем файл:

До содержимого:

Только добавляем файлы в ревизию (все файлы и каталоги из текущего):

Добавляем и удаляем файлы из ревизии (все файлы и каталоги из текущего):

Фиксируем ревизию:

После исправлений, внести изменения в текущую ревизию:

Отправляем текущую ревизию (после фиксации) в другой репозиторий(допустим /work/):

Фиксируем полученные данные в репозитории:

Запустить web-сервер mercurial (порт по умолчанию 8000):

Получить информацию о ревизиях с jan 2018 to feb 2018:

Восстановить состояние из ревизии:

Хорошая статья на тему Mercurial тут: https://habrahabr.ru/post/274877/

Работа с git:
Добавить имя пользователя и адрес электронной почты:

Инициализация(создание) репозитория (на примере того же /test/):

Добавить коннект к удаленному репозиторию dwpanel:

Получить все ветки из удаленного репозитория:

Добавление ветки master из удаленного dwpanel в домашний dwpanel-master:

Слияние ветки dwpanel-master и последнего коммита (актуально, если последний коммит получен с удаленного репозитория):

Обновляет файлы в рабочем дереве в соответствии с версией в индексе или указанном дереве:

Добавить все файлы и папки к ревизии:

Добавить все файлы к ревизии:

Добавить конкретный файл к ревизии:

Проверить какие файлы находятся в ревизии:

Фиксируем ревизию:

Отправить master ветку домашнего репозитория(dwpanel-master) в удаленный dwpanel:

Если получили «оторванную бошку» (git status > HEAD detached from 82da65b), из-за чего невозможно залить изменения в удаленный репозиторий (git push dwpanel master > Everything up-to-date) исправляется так:
— создаем временную ветку temp

— выбираем временную ветку temp

— устанавливаем ветке master ту же позицию HEAD, что и в ветке temp

— возвращаемся в ветку master

— удаляем временную ветку temp

Для локального использования Mercurial

Разворачиваем два репозитория:

«[ui]
username = SSurname»

hg add
hg commit
cd /work/
hg init
vi /work/.hg/hgrc

«[ui]
username = SSurname»

hg add
hg commit

Далее работаем в /test/, когда изменения готовы отправляем их в /work:

Для глобального использования Git
Создаем репозиторий на github (например dwpanel), разворачиваем локальный репозиторий:

Далее работаем в локальном репозитории, при необходимости фиксации:

При необходимости предварительно делаем слияние: