Подтвердить что ты не робот

Hg эквивалент git add -p?

Существует ли ртутный эквивалент git add -p?

Цитата из man, git -add с опцией -p (или --patch) делает следующее:

Интерактивно выбирайте куски патча между индексом и работой дерево и добавьте их в индекс. Это дает пользователю возможность просмотрите разницу перед добавлением измененного содержимого в индекс.

4b9b3361

Ответ 1

Посмотрите расширение (которое поставляется вместе с Mercurial).

Обратите внимание, что поскольку Mercurial не имеет концепции промежуточной области, такой как git, запуск hg record просто позволит вам изучить, hunk by hunk, изменения в вашей рабочей копии. Любые изменения, которые вы выберете для записи, будут зафиксированы, а любые изменения, которые вы не хотите записывать, просто оставлены как изменения в вашей рабочей копии.

Ответ 2

Расширение записи является стандартным инструментом для этого. Это позволяет вам выбирать фрагменты, чтобы включить или нет в коммите. Как только вы включите расширение в вашем hgrc, команда просто

hg record

Расширение CRecord дает вам TUI (текстовый интерфейс пользователя), который позволяет вам перейти к тем строкам, которые вы хотите включить. Это не является стандартным, поэтому его нужно загрузить в каталог, прежде чем вы сможете включить его в hgrc.

hg crecord

Редактировать:

  1. Расширение Record больше не требуется, начиная с версии v3.4. Теперь различные команды поддерживают --interactive флаг -i или --interactive. Например:

    hg commit -i
    

    ... спросит вас, что вы хотите включить.

  2. 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