27cm
@27cm
TODO: Написать статус

Как получить список отслеживаемых и проиндексированных файлов и директорий в Git, исключив поддиректории?

Доброго.

Проблема
Необходимо получить список имён всех отслеживаемых и проиндексированных файлов и директорий в текущей директории, исключая все поддиректории.

Например, для вот такой структуры:
/.git/...
/folder/subfolder/file.ext
/folder2/new.ext (новый проиндексированный файл)
/.gitignore
/file.ext
/ignoreme.ext (не отслеживаемый файл)
/new.ext (ещё один новый проиндексированный файл)


Нужно получить:
folder
folder2
.gitignore
file.ext
new.ext


Что уже пробовал
Очень близкий результат даёт команда git ls-tree --name-only HEAD
Но она не возвращает имена новых, проиндексированных файлов и директории с такими файлами.

Также смотрел в сторону git ls-files
Игрался с параметрами, но так и не удалось добиться требуемого результата.

Зачем вообще это нужно?
Пишу скрипт, генерирующий файл README.md для каждой поддиректории, в который будут включён список всех файлов и директорий данной директории с краткими пояснениями. Пояснения берутся из конфига или на основе содержимого директории или файла.

Заранее благодарен всем за любые идеи.
  • Вопрос задан
  • 4752 просмотра
Пригласить эксперта
Ответы на вопрос 1
vawsan
@vawsan
Frontend Developer
Скриптом временно внести все подпапки в .gitignore, трекнуть, а затем откатить файл .gitignore.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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