如何在Git中获取包含所有分支机构的列表以及包含数字的最新标签?

交错

我有许多包含不同版本标签的Git分支。我正在寻找一种解决方案,其中逐行列出了所有分支机构及其最新编号的标签。(版本始终具有相同的格式:XYZ)

例子:

硕士:2.2.2

分支B:2.2.1

分支C:2.0.0

吉尔

如果您没有任何多余的标签,乱扔垃圾的地方@sajibkhan的主意是正确的,

git for-each-ref refs/heads refs/remotes --format='
        printf '%s: ' %(refname:short); git describe --tags --abbrev=0 %(refname:short)
' |sh

或更熟悉的是while read

git branch -a|sed s/.//|while read branch; do
        printf '%s: ' "$branch"; git describe --tags --abbrev=0 $branch
done

但是你的

他们最新的编号标签

让我觉得您有一些未编号的标签,这些标签git describe有时会产生错误的结果。


git describe有一个--match选项,因此,如果您可以为要考虑的标签准备一个正匹配的标记,例如,如果--match=[0-9]*愿意的话,只需添加它即可。但是,例如linux具有诸如v4.8.1和的标记v2.6.3-rc7,并且仅将第一个标记与glob模式匹配并不容易。

对于这样的情况,有一个非常好的ref手术技术:

scratch=`mktemp -d`
git clone -s --mirror . "$scratch"
cd !$

制作了一个非常快速的从头开始克隆,带有重复的引用,但没有实际的内容。-s缩写--shared,仓库使用主对象db,镜像克隆始终是裸露的,因此没有签出。将共享库克隆用于您不确定要获得结果还是需要前后的任何临时工作。

因此,既然您在沙盒镜中,就可以删除不想在此处看到的引用:

git for-each-ref refs/tags/*[^0-9.]* --format='
        delete %(refname)
' | git update-ref --stdin

删除任何名称中任何具有非数字或点的标记。

清理后的便笺本refname空间已准备好用于git describe上面的简单s。


这是一种通用技术:您可以在任何具有url或路径名的位置,通过任何所需的重写来推送和获取所需的任何引用。这包括您的本地存储库。例如,这是为每个远程跟踪分支建立或快速转发本地分支的一种残酷方法:

git fetch . refs/remotes/origin/*:refs/heads/*

(首先在临时克隆中执行此操作...)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在分支机构之间的git历史中获取所有贡献者

来自分类Dev

如何在远程分支机构获取最新信息?

来自分类Dev

我无法从GIT的分支机构中获取所有文件夹

来自分类Dev

如何在Sourcetree / Git中合并庞大的分支机构?

来自分类Dev

NodeGit如何获取本地分支机构列表?

来自分类Dev

Git分支机构分支机构

来自分类Dev

我如何从分支机构获取Phabricator中的差异ID

来自分类Dev

如何显示我的分支机构“您的分支机构的最新信息是“来源/主”

来自分类常见问题

我可以删除除当前分支机构以外的所有本地分支机构吗?

来自分类Dev

GIT-如何知道分支的分支机构?

来自分类Dev

为所有在TFS中具有已知开始和结束的分支机构定义策略

来自分类Dev

如何获取从GIT分支创建的所有分支的列表(获取分支的所有子分支)

来自分类Dev

如何获取从GIT分支创建的所有分支的列表(获取分支的所有子分支)

来自分类Dev

Gerrit远程分支机构所有权

来自分类Dev

如何列出分支机构中用户的所有提交文件?

来自分类Dev

如何显示特定人员的所有分支机构都在假期中的假期?

来自分类Dev

在intellij中填充新的远程分支机构-Git

来自分类Dev

本地分支机构很整洁,但是所有远程分支机构仍然存在...有什么建议吗?

来自分类Dev

如何在CA Harvest中为分支机构/ GitFlow建模?

来自分类Dev

如何为分支机构使用分支

来自分类Dev

如何从包含在 Firebase 列表中的分支获取数据

来自分类Dev

SVN-如何获取分支上所有提交以及合并到该分支的分支的所有提交的列表?

来自分类Dev

分支机构的分支

来自分类Dev

如何在python中包含给定路径中的所有文件以及子目录的所有文件?

来自分类Dev

git merge说已经是最新的了,但是分支机构之间确实存在差异

来自分类Dev

如何在iOS中解析html以获取其所有内容以及标签名称?

来自分类Dev

如何获取对象列表中包含的所有子对象的列表?

来自分类Dev

从包含在列表中的关系中获取所有节点

来自分类Dev

如何在KnapSack问题中显示所有包含的数字?

Related 相关文章

  1. 1

    如何在分支机构之间的git历史中获取所有贡献者

  2. 2

    如何在远程分支机构获取最新信息?

  3. 3

    我无法从GIT的分支机构中获取所有文件夹

  4. 4

    如何在Sourcetree / Git中合并庞大的分支机构?

  5. 5

    NodeGit如何获取本地分支机构列表?

  6. 6

    Git分支机构分支机构

  7. 7

    我如何从分支机构获取Phabricator中的差异ID

  8. 8

    如何显示我的分支机构“您的分支机构的最新信息是“来源/主”

  9. 9

    我可以删除除当前分支机构以外的所有本地分支机构吗?

  10. 10

    GIT-如何知道分支的分支机构?

  11. 11

    为所有在TFS中具有已知开始和结束的分支机构定义策略

  12. 12

    如何获取从GIT分支创建的所有分支的列表(获取分支的所有子分支)

  13. 13

    如何获取从GIT分支创建的所有分支的列表(获取分支的所有子分支)

  14. 14

    Gerrit远程分支机构所有权

  15. 15

    如何列出分支机构中用户的所有提交文件?

  16. 16

    如何显示特定人员的所有分支机构都在假期中的假期?

  17. 17

    在intellij中填充新的远程分支机构-Git

  18. 18

    本地分支机构很整洁,但是所有远程分支机构仍然存在...有什么建议吗?

  19. 19

    如何在CA Harvest中为分支机构/ GitFlow建模?

  20. 20

    如何为分支机构使用分支

  21. 21

    如何从包含在 Firebase 列表中的分支获取数据

  22. 22

    SVN-如何获取分支上所有提交以及合并到该分支的分支的所有提交的列表?

  23. 23

    分支机构的分支

  24. 24

    如何在python中包含给定路径中的所有文件以及子目录的所有文件?

  25. 25

    git merge说已经是最新的了,但是分支机构之间确实存在差异

  26. 26

    如何在iOS中解析html以获取其所有内容以及标签名称?

  27. 27

    如何获取对象列表中包含的所有子对象的列表?

  28. 28

    从包含在列表中的关系中获取所有节点

  29. 29

    如何在KnapSack问题中显示所有包含的数字?

热门标签

归档