在git上显示奇特的标记列表
我有以下git日志别名:在git上显示奇特的标记列表,git,Git,我有以下git日志别名: lo = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short -n 8 我怎样才能用像上面这样奇特的格式显示所有git标记的列表,而不是像git标记调用那样只显示标记名?对此我没有一个简洁的答案,但您可以为这样的东西创建一个shell别名: for t in $(git tag -l) do printf "%-16s" $t echo `git show -s --pre
lo = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short -n 8
我怎样才能用像上面这样奇特的格式显示所有git标记的列表,而不是像
git标记
调用那样只显示标记名?对此我没有一个简洁的答案,但您可以为这样的东西创建一个shell别名:
for t in $(git tag -l)
do
printf "%-16s" $t
echo `git show -s --pretty=format:"%h %ad | %s%d [%an]" --date=short $t^{}`
done
。。。主git存储库上的哪个将产生如下输出:
v1.7.9 828ea97 2012-01-27 | Git 1.7.9 (v1.7.9) [Junio C Hamano]
v1.7.9-rc0 eac2d83 2012-01-06 | Git 1.7.9-rc0 (v1.7.9-rc0) [Junio C Hamano]
v1.7.9-rc1 6db5c6e 2012-01-12 | Git 1.7.9-rc1 (v1.7.9-rc1) [Junio C Hamano]
v1.7.9-rc2 bddcefc 2012-01-18 | Git 1.7.9-rc2 (v1.7.9-rc2) [Junio C Hamano]
v1.7.9.1 90020e3 2012-02-14 | Git 1.7.9.1 (v1.7.9.1) [Junio C Hamano]
v1.7.9.2 78f4c9f 2012-02-22 | Git 1.7.9.2 (v1.7.9.2) [Junio C Hamano]
v1.7.9.3 69f4e08 2012-03-05 | Git 1.7.9.3 (v1.7.9.3) [Junio C Hamano]
v1.7.9.4 a460348 2012-03-12 | Git 1.7.9.4 (v1.7.9.4) [Junio C Hamano]
v1.7.9.5 8ced9c9 2012-03-26 | Git 1.7.9.5 (v1.7.9.5) [Junio C Hamano]
v1.7.9.6 cb2ed32 2012-04-02 | Git 1.7.9.6 (v1.7.9.6) [Junio C Hamano]
v1.7.9.7 d0f1ea6 2012-04-26 | Git 1.7.9.7 (v1.7.9.7) [Junio C Hamano]
对我来说,不明显的一点是标记名上的
^{}
后缀,这意味着取消引用任何标记对象以找到它所指向的提交,如上所述。这太棒了!如果能让它首先列出最新的标签会更好:git-tag
似乎没有这样的选项,我必须用另一个命令对它们进行排序,还是我遗漏了什么?@Lohoris:我认为这对于git-tag-l
-标签不能很好地定义-标签可以指向任何东西:标签对象、提交对象、blob对象等等,例如,没有附加日期。一个简单的解决方案是将%ad
更改为%ad:%ai
,然后根据第三列进行排序。感谢%ai,我搜索了很多,但在任何地方都找不到它!将$t的“for”行更改为(git branch-l | cut-b3-
对分支执行相同的操作。