Ответ 1
Или...
git clean -dnx | cut -c 14-
Если вы не хотите видеть проигнорированные файлы,
git clean -dn | cut -c 14-
Получение списка неверсированных файлов в папке с Git -контролем более раздражает, чем должно быть. Если я действительно не сосать чтение man-страниц, это не похоже на то, что Git предоставляет возможность выполнять эту операцию самостоятельно.
Там может быть более элегантный способ выполнения этого, но здесь один-лайнер, который я собрал вместе для этой задачи, в случае, если кто-либо еще когда-нибудь понадобится его использовать.
Edit: получается стандартный способ сделать это, который уже хорошо работает.
git ls-files --other [--exclude-standard]
Или...
git clean -dnx | cut -c 14-
Если вы не хотите видеть проигнорированные файлы,
git clean -dn | cut -c 14-
На самом деле, если вы используете git clean
с опцией -n
или --dry-run
, он распечатает список незатрещенных файлов, которые он бы удалил, если бы вы запустили его с опцией -f
или --force
. Добавление флага -d
включает в себя каталоги, которые либо пусты, либо содержат только файлы без следа.
Итак, вы можете запустить эту команду из репозитория git:
$ git clean -dn
И получим такой вывод:
Would remove dir/untracked_file_1.txt
Would remove untracked_file_2.txt
Здесь бонус: он также уважает ваш файл .gitignore, но если вы добавите флаг -X
, он отобразит только проигнорированные файлы.
diff <(echo "`git ls-tree -r master | sed 's/.*\t//g'`") <(echo "`find . -type f`") | grep '> .*' | cut -c 3-