Git 基础教程

Git 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/git-remote-branch-list-sorted-by-most-recent-commit.html

git branch 远程分支列表根据最近一次提交时间排序

Git 笔记 Git 笔记


git 远程分支列表如何根据最后一次提交(commit)时间进行排序(升序或降序),这里远程分支不包括已经删除的远程分支?

步骤一

首先将远程仓库的所有以被删除的远程分支信息更新到 .git/FETCH_HEAD 文件中,具体命令如下:

git fetch -p

如上参数 -p 等价于 --prune,表示已经删除的。

步骤二

其次,根据最后一次提交时间降序,命令可如下:

for branch in `git branch -r | grep -v HEAD`;do echo -e `git show --format="%ci %cr" $branch | head -n 1` \\t$branch; done | sort -r

输出结果如下:

2020-10-11 19:46:26 +0800 3 hours ago 	origin/master
2020-10-10 19:50:14 +0800 27 hours ago 	origin/know
2020-10-10 16:41:42 +0800 30 hours ago 	origin/ledge
2020-10-10 10:59:28 +0800 2 days ago 	origin/dict
2020-10-09 11:33:47 +0800 2 days ago 	origin/staging
2020-09-28 15:31:16 +0800 13 days ago 	origin/fix_bug_1003
2020-09-28 14:36:39 +0800 13 days ago 	origin/develop
2020-09-28 14:32:59 +0800 13 days ago 	origin/fix_bug_0322
2020-09-25 17:35:02 +0800 2 weeks ago 	origin/qa
2020-09-25 15:16:23 +0800 2 weeks ago 	origin/tutorial
2020-09-22 21:58:46 +0800 3 weeks ago 	origin/deep
2020-09-22 20:18:47 +0800 3 weeks ago 	origin/yourknowledge

如果要时间升序,把最后的 sort -r 改为 sort 即可,即去掉 -r 选项。