Мерзавец - комната, эквивалентная для, “добавляет”.?

При использовании Мерзавца из командной строки есть ли способ удалить одним махом все файлы, которые будут удалены в Измененном, но не обновленном списке? Вместо того, чтобы делать руководство удаляет подстановочные знаки использования.

7
задан Nick Volynkin 24 June 2015 в 06:22
поделиться

2 ответа

Файлы, показанные как удаленные в разделе статуса «Изменен, но не обновлен», удаляются из дерева работ, но не из индекса. Чтобы выполнить удаление в индексе (т.е. удалить файл из индекса), вы можете сделать:

git diff -z --name-only --diff-filter=D | git update-index --remove -z --stdin

- diff-filter = D показывает только отличия от индекса, которые представляют собой удаленные файлы, - name-only просто выводит их имя, а -z использует NUL для разделения имен файлов, так что вам не нужно беспокоиться о именах файлов со встроенными символами новой строки. update-index затем удаляет указанные файлы из индекса.

Если у вас есть версия xargs , которая поддерживает -0 , вы можете сделать немного проще:

git diff -z --name-only --diff-filter=D | xargs -0 git rm
3
ответ дан 6 December 2019 в 14:02
поделиться

Ну, файлы, перечисленные в разделе Изменены, но не обновлены , уже есть в индексе. Вы можете отменить их изменения, используя git checkout.
Чтобы удалить новые файлы, которые не были добавлены в индекс, вы можете использовать git clean .
Но для удаления измененных файлов в индексе ... нет простого решения, вам, вероятно, придется использовать комбинацию git rm и git ls-файлы .

РЕДАКТИРОВАТЬ:
git ls-files -m должен перечислить файлы, которые вы ищете. Объедините его с git rm , и все готово:

git-ls files -m | xargs git rm // NOT TESTED

РЕДАКТИРОВАТЬ:
Я, вероятно, неправильно понял часть вашего вопроса. Мое решение удалит все файлы, перечисленные в разделе Изменены, но не обновлены . Если вы хотите удалить файлы, перечисленные как удаленные , вы должны использовать git diff , как показывает Чарльз Бейли в своем ответе.

4
ответ дан 6 December 2019 в 14:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: