当我有一个包含轻量级标签和带注释标签的存储库时,git-for-each-ref似乎只对其中一组进行排序。我想修改我的调用以for-each-ref获取输出,该输出对所有标签进行排序并将它们混合在输出中。
例如:
bash-3.2$ git 标签 |
> xargs -IT git log -n 1 --format='%at T' T |
> 排序-rn |
> awk '{打印$2}'
轻重量3
at3
轻重量2
at2
轻重量1
at1
bash-3.2$ git for-each-ref --sort=-authordate refs/tags | bash-3.2$ git for-each-ref --sort=-authordate refs/tags | awk '{打印$3}'
参考文献/标签/lwt3
参考文献/标签/lwt2
参考文献/标签/lwt1
参考文献/标签/at1
参考文献/标签/at2
参考文献/标签/at3
bash-3.2$ git --版本
git 版本 1.6.6.80.g2df32
使用-committerdate或-taggerdate生成类似的输出,并且标签永远不会正确排序。当使用-*authordate, 或 时-*committerdate,已排序的组将被反转,而-*taggerdate不会进行任何排序。
还有其他我不知道的选择吗?这是正确的行为吗?我可以明白为什么 committerdate 或 taggerdate 只会分别对提交或标签进行排序,但似乎authordate 应该做我想要的事情。
好的,继续验证我在评论中所说的话:
只有带注释的标签才会在存储库中创建选项卡对象,其中包含您要在此处排序的 taggerdate 字段等内容。您的标签很可能是轻量级标签,因此不包含此类信息。
对于另一半,committerdate 和authordate 似乎在标签上对我来说可以正常工作 - 它们只是对标签指向的提交进行排序,因为没有有关标签本身何时创建的信息。(当且仅当你在前面放一个 - 时,它们才会颠倒排序)
| 归档时间: |
|
| 查看次数: |
2968 次 |
| 最近记录: |