我不确定你的目标,但是git并不容易按照指向的提交日期对标记进行排序.
经过一番研究和努力,我想出了这个:
git tag | xargs -I@ git log --format=format:"%ci %h @%n" -1 @ | sort
Run Code Online (Sandbox Code Playgroud)
样本输出:
2008-10-30 08:51:04 -0700 221793e REL_1.0.0
2008-10-31 12:06:57 -0700 51a406c REL_1.0.1
2008-10-31 13:01:18 -0700 e1e9751 REL_1.0.2
Run Code Online (Sandbox Code Playgroud)
稍微调整一下,这也适用于"git branch"来处理指示当前分支的星号.
另一个可能有用的命令...在日志输出中包含引用名称(分支,标记等):
git log --decorate
Run Code Online (Sandbox Code Playgroud)
您是否有一个工作流程或脚本依赖于旧克隆中不存在较新标记的假设?如果您正在克隆本地仓库,您可以尝试"git clone --no-hardlinks".但它可能不是您目标的最佳解决方案.