Git: исключить некоторые файлы при запуске git clean - PullRequest
1 голос
/ 20 января 2020

Я хочу очистить файлы, которые игнорируются .gitignore, но я хочу исключить некоторые файлы, указанные путем исключения параметров. И затем я не хочу удалять неотслеживаемые файлы.

dist                     (ignored)
node_modules             (ignored)
.env                     (ignored but I want to exclude for the cleanup)
I_do_not_want_add_yet.js (untracked, I don't want cleanup some untracked files)
package.json             (There are many other tracked files)

Поэтому я просмотрел некоторые сообщения и попробовал следующую команду:

$ git clean -ndX -e .env
Would remove dist/
Would remove node_modules/
Would remove .env   # Oops!

$ git clean -ndX --exclude='!.env'
Would remove dist/
Would remove node_modules/
Would remove .env   # Oops!

$ git clean -ndx -e .env
Would remove dist/
Would remove node_modules/
Would remove I_do_not_want_add_yet.js   # Oops!

Выполнить у вас есть хорошие идеи?

1 Ответ

1 голос
/ 24 января 2020

Проблема может быть решена с помощью команды, которая немного хакерская:

git ls-files --other --ignored --exclude-standard \
  | grep -v -E "^\.env" \
  | xargs -I{} rm -rf {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...