Bash 根据上次提交日期订购git存储库

Bash 根据上次提交日期订购git存储库,bash,git,git-bash,Bash,Git,Git Bash,我在每个子文件夹中都有一个包含git存储库的文件夹 folder ./repo1 // last commit 1 week ago ./repo2 // last commit 1 day ago ./repo3 // last commit 1 month ago 我想根据上次提交的日期对存储库进行排序,以查看最近修改的存储库 结果 repo2 repo1 repo3 请问我该怎么做? 非常感谢 for repository in ./*/; do git -C

我在每个子文件夹中都有一个包含git存储库的文件夹

folder
./repo1    // last commit 1 week ago
./repo2    // last commit 1 day ago
./repo3    // last commit 1 month ago
我想根据上次提交的日期对存储库进行排序,以查看最近修改的存储库

结果

repo2
repo1
repo3
请问我该怎么做? 非常感谢

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
的格式字符串,可以从每个存储库输出有关上次提交的更多信息