如何使用 shell 排序获取正确的最新版本分支名称?



在我们的项目中,我们会定期签出名为release/2.4或类似内容的新分支。目前,如果我git branch -r | grep -o "release/[0-9]*\.[0-9]*$"它将生成如下输出:

release/2.29
release/2.30
release/2.31
release/2.32
release/2.4
release/2.5
release/2.6
release/2.7
release/2.8
release/2.9
release/3.0
release/3.1
release/3.10
release/3.11
release/3.2
release/3.3
release/3.4
release/3.5
release/3.6
release/3.7
release/3.8
release/3.9

如您所见,最新版本分支肯定是release/3.11,但是它位于release/3.1release/3.2之间。

我尝试git branch -r | grep -o "release/[0-9]*\.[0-9]*$" | sort -n -t "." -k 2 | tail -1先用"."分隔序列,然后按第二列排序。但是,这会产生release/2.32,因为 32 要大得多。

如何使用 shell 脚本(可能是命令sortsed(来获取release/3.11

尝试sort --version-sortsort -V

相关内容

  • 没有找到相关文章

最新更新