Заказать git репозитории на основе даты последнего коммита - PullRequest
0 голосов
/ 22 октября 2019

У меня есть папка с git-репозиториями в каждой подпапке

folder
./repo1    // last commit 1 week ago
./repo2    // last commit 1 day ago
./repo3    // last commit 1 month ago

Я бы хотел ранжировать репозитории по дате последнего коммита, чтобы увидеть самые последние измененные репозитории

результат

repo2
repo1
repo3

Как мне это сделать, пожалуйста? Большое спасибо

1 Ответ

1 голос
/ 22 октября 2019
for repository in ./*/; do
    git -C "$repository" --no-pager log -1 --all --format="%at $(basename $repository)" 2>/dev/null;
done | sort -r | cut -d' ' -f2-

Это циклически повторяет репозитории, используя git log для получения метки времени последнего коммита и создавая вывод в этой форме:

571228806 repo1
571043015 repo2
570539599 repo3
...

Затем список сортируется в обратном порядке и обрезается для удаления меток времени,Обратите внимание, что вы можете вывести больше информации о последнем коммите из каждого репозитория, изменив строку формата, переданную в git log.

...