Bash 根据上次提交日期订购git存储库
我在每个子文件夹中都有一个包含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
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
的格式字符串,可以从每个存储库输出有关上次提交的更多信息