Hg docs заявляет, что hg
не поддерживает эквивалент индекса git из коробки и предлагает использовать расширения ( запись или mq) для аналогичного поведения.
Во-первых, у меня очень мало опыта работы с git
, поэтому позвольте мне изложить мое понимание концепции постановки в git:
- Там рабочая копия, содержащая несколько измененных файлов, каждая из которых имеет несколько измененных фрагментов.
- Затем пользователь (возможно, неоднократно) использует
git add
для выбора файлов, которые будут переданы. - В качестве альтернативы, используйте
git add -p
, чтобы выбрать только некоторые из фрагментов в файле, чтобы позже было зафиксировано. - Сделайте
git commit
, чтобы добавить ранее выбранные изменения в репозиторий.
Итак, для меня все staging area
- это помпезное имя для выбора того, какие изменения в рабочей копии сделают его в следующей фиксации.
Если я не совсем так, то почему все, включая официальную документацию, заявляют, что Mercurial не поддерживает это?
Я спрашиваю, потому что точный рабочий процесс выше тривиально в TortoiseHg:
- в левой панели - выберите все файлы для включения в commit
- в правой нижней панели - выберите отдельные куски, чтобы включить
- нажмите "Зафиксировать".
Я не знаю, что использует hg
команды TortoiseHg, но опять же мне никогда не нужно было заботиться. (Он не использует никакого расширения для этого AFAICT)
Есть ли еще git
концепция постановки, которой я не хватает?