Если вы используете git в качестве инструмента управления версиями, вы можете изучить основы Mercurial так же просто, как пирог. Мне было интересно, верен ли их девиз (Работайте проще, работайте быстрее), и я решил выполнять базовые действия по управлению версиями, используя mercurial, просто используя--help, и это сработало как шарм!

Установка

В пояснениях не нуждается: sudo apt install hg.

Если вы используете другие операционные системы, эта ссылка может вам помочь.

Если все пойдет хорошо, вы можете увидеть версию с помощью hg --version

Конфиг mercurial

После установки нам нужно добавить пользователя (как и Git) с помощью этой команды:

hg config --edit

А в файле конфигурации просто введите имя пользователя, и вы можете начать использовать Mercurial:

Инициализировать репозиторий

Используйте эту команду: hg init.

Теперь вы находитесь в ветке default, которая похожа на master в git.

Если вы хотите быть уверены, используйте эту команду: hg branch, и это покажет вам: default

Создайте файл и зафиксируйте этот файл

Вы можете создать свой файл внутри папки или с помощью этой команды в Linux или Mac OS: touch myFirstFile.js.

Теперь этот файл не отслеживается. Мы можем использовать командуAdd, чтобы постоянно отслеживать этот файл: hg add ./myFirstFile.js.

Создайте другой файл, но не добавляйте его. Например, touch secondFile.js
аналогично git status, мы можем использовать здесь hg status, и результат будет таким:

Наш первый добавленный файл отображается с большой буквы (что, как я предполагаю, означает «Добавлен!»), А второй файл (который мы создали, но не добавляли) отображается в виде вопросительного знака.

Чтобы зафиксировать этот файл, мы должны использовать: hg commit --message "my first commit message". Теперь, если вы снова введете: hg status, вы увидите, что этот файл исчез.

Вопрос: Как мне увидеть свои предыдущие коммиты?
Ответ: в точности как то, что вы делаете в Git

hg log даст вам краткую историю ваших коммитов.

changeset чем-то похож на хеш коммита Git.

Создайте ветку и объедините ее по умолчанию

Сначала убедитесь, что вы находитесь в ветви по умолчанию: hg branch результат должен быть default.

Создайте ветку: hg branch branchName.

В Git вам нужна была -b опция для создания и извлечения в эту ветку branch -b branchName, но здесь вам не нужна опция, и после создания ветки ваша текущая ветка - это то, что вы только что создали. Теперь результатом hg branch должно быть имя вашей ветки.

Переключение ветвей:
Просто используйте эту команду: hg update branchName.

Давайте создадим файл в этой ветке и зафиксируем этот файл.

touch thirdFile.js
hg add thirdFile.js
hg commit thirdFile.js

Теперь мы хотим объединить нашу ветку с веткой по умолчанию. Во-первых, нам нужно изменить нашу текущую ветку: hg update default. Во-вторых, нам нужно объединить нашу ветку: hg merge -r myBranchName. Почему -r? -r означает доработку.

После слияния Mercurial показывает сообщение:

Имя моей ветки dev. В моей ветке был файл с именем thirdFile.js, и после команды слияния он имеет заглавную букву M в начале, когда я использую hg status для просмотра файлов моего рабочего каталога (я предполагаю, что это означает слияние ?!).
И сообщение ясно говорит, что я должен совершить это слияние:

hg commit --message "merge branch"

Теперь ветка default обновлена ​​и содержит наш thirdFile.js.

Клонировать удаленный репозиторий

У Mercurial есть тестовый репозиторий, и вы можете легко клонировать его с помощью этой команды:

hg clone https://www.mercurial-scm.org/repo/hello

Толкать и тянуть в основном такие же, как git, и я собираюсь написать о них отдельную статью.

И вот оно! Надеюсь, теперь вы будете чувствовать себя более уверенно при использовании Mercurial! :)