Hg эквивалент git add -p?
Существует ли ртутный эквивалент git add -p
?
Цитата из man, git -add с опцией -p (или --patch) делает следующее:
Интерактивно выбирайте куски патча между индексом и работой дерево и добавьте их в индекс. Это дает пользователю возможность просмотрите разницу перед добавлением измененного содержимого в индекс.
Ответы
Ответ 1
Посмотрите расширение (которое поставляется вместе с Mercurial).
Обратите внимание, что поскольку Mercurial не имеет концепции промежуточной области, такой как git, запуск hg record
просто позволит вам изучить, hunk by hunk, изменения в вашей рабочей копии. Любые изменения, которые вы выберете для записи, будут зафиксированы, а любые изменения, которые вы не хотите записывать, просто оставлены как изменения в вашей рабочей копии.
Ответ 2
Расширение записи является стандартным инструментом для этого. Это позволяет вам выбирать фрагменты, чтобы включить или нет в коммите. Как только вы включите расширение в вашем hgrc, команда просто
hg record
Расширение CRecord дает вам TUI (текстовый интерфейс пользователя), который позволяет вам перейти к тем строкам, которые вы хотите включить. Это не является стандартным, поэтому его нужно загрузить в каталог, прежде чем вы сможете включить его в hgrc.
hg crecord
Редактировать:
-
Расширение Record больше не требуется, начиная с версии v3.4. Теперь различные команды поддерживают --interactive
флаг -i
или --interactive
. Например:
hg commit -i
... спросит вас, что вы хотите включить.
-
CRecord сделал это в 3.8 в качестве основной функции. Добавьте следующее в ваш .hgrc
[ui]
interface = curses
Теперь --interactive
команды --interactive
тот же интерфейс, что и старое расширение CRecord.
Ответ 3
В соответствии с Mercurial 3.8.1 расширение crecord встроено. Убедитесь, что раздел "ui" в вашем .hgrc
содержит interface = curses
, или вы получаете неудобный интерфейс вопросов и ответов.
[ui]
interface = curses
Затем выполните ваши коммиты в интерактивном режиме, чтобы спросить о том, какую строку или какую строку вы хотите включить в эту фиксацию.
hg commit --interactive
Ответ 4
Если вы используете TortoiseHg, у него есть функция Shelve
, которая позволяет сохранять изменения, которые вы не хотите фиксировать во временную область. Он позволяет выбирать hunk, как и git.
В Workbench TortoiseHg этот инструмент можно получить двумя способами:
- Нажмите
Repository -> Shelve
- В окне
Commit
выберите значок инструмента полки. Это выглядит так:
![enter image description here]()