Команда Git для отображения всех файлов в рабочем каталоге - PullRequest
0 голосов
/ 16 мая 2019

Мне нужна команда git (или альтернатива bash), чтобы быстро найти все файлы в рабочем каталоге.

Я пытаюсь улучшить FZF_DEFAULT_COMMAND для fzf который в настоящее время git ls-files.Проблема в том, что с помощью этой команды новые файлы невозможно найти.Я также хотел бы избавиться от удаленных файлов в результате.Команда не должна возвращать файлы, игнорируемые git.

Я пробовал

export FZF_DEFAULT_COMMAND='{ git ls-files & git ls-files --other --exclude-standard; }'

, но все равно показывает удаленные файлы.

1 Ответ

3 голосов
/ 16 мая 2019
$ git ls-files -o -c --exclude-standard > /tmp/c; git ls-files -d > /tmp/d; grep -vf /tmp/d /tmp/c

Объяснено:

git ls-files -o -c --exclude-standard - создает список файлов, которые мы хотим вернуть;сохранено во временном файле /tmp/c

git ls-files -d - это список удаленных файлов, которые являются нежелательными для операции;сохраненный в другой временный файл /tmp/d

grep -vf /tmp/d /tmp/c возвращает все строки из /tmp/c с удаленными строками из /tmp/d

Без файлов tmp:

grep -vf <(git ls-files -d) <(git ls-files -o -c --exclude-standard)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...