Определенные файлы Mercurial Unstage из рабочего каталога

У меня есть незафиксированный набор изменений. Я хочу зафиксировать некоторые изменения, но не зафиксировать некоторые файлы (например, удалить файл в git). Можно ли это сделать в меркуриал?


person Joda Maki    schedule 29.03.2011    source источник


Ответы (3)


Используйте параметр -X для hg commit, чтобы исключить определенные файлы. Вы можете указать его более одного раза в командной строке. Например,

hg commit -X path/to/unwanted/file -X path/to/another/file
person Niall C.    schedule 29.03.2011

Вы можете передать список файлов для фиксации в hg commit, например. hg commit -m msg file1 file2 ....

person Cat Plus Plus    schedule 29.03.2011

Ага! У вас есть два варианта.

  1. Зафиксируйте только некоторые файлы.

    Если вы укажете имена файлов в качестве аргументов для hg commit, будут зафиксированы только эти файлы. Итак, если у меня есть следующие hg status:

    M foo.txt
    M bar.txt
    

    Я могу запустить hg commit foo.txt, чтобы зафиксировать только изменения в foo.txt и оставить изменения в bar.txt для последующей фиксации.

  2. Используйте расширение record.

    Record extension обеспечивает поведение Mercurial для индекса git, позволяя вам фиксировать только некоторые исправления ваших изменений (например, git add --patch). См. документы для получения дополнительной информации.

person kevingessner    schedule 29.03.2011