Как получить список файлов в папке репозитория Git по дате последнего коммита

git ls-tree --name-only HEAD foldername/ | while read filename; do echo "$(git log -1 --format="%ci " -- $filename) $filename"; done | sort -r


Эта команда git ls-tree --name-only HEAD foldername/ | while read filename; do echo "$(git log -1 --format="%ci " -- $filename) $filename"; done | sort -r позволяет получить список файлов в папке foldername/ репозитория Git, отсортированный по дате последнего коммита в убывающем порядке.

git ls-tree --name-only HEAD foldername/ выводит список файлов в указанной папке.
while read filename; do ... done читает каждый файл из списка и выполняет следующие действия для него.
git log -1 --format="%ci " -- $filename выводит дату последнего коммита для каждого файла.
sort -r сортирует результаты в обратном (убывающем) порядке, таким образом, файлы с более поздними коммитами будут выше в списке.

Альтернативой может быть использование команды git log --name-only --format="%ci %n" foldername/ | sort -r | grep -E "^[0-9]{4}-[0-9]{2}-[0-9]{2}", которая также вернет список файлов в указанной папке, отсортированный по дате последнего коммита.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *