bash - 如何使用 bash 命令检查最新版本的 git 分支?
问题描述
我正在~/.profile
为常用命令字符串构建一些别名。一种情况是当我开始一个新的功能分支时,我将检查具有命名约定的当前基础release/1.1.0
,然后从那里创建我的新feature/feature-name
分支。
我的问题是如何让我的 bash 命令自动检出最新版本。如果我手动输入并在结果上加标签,一些项目有很多可用的,如release/1.0.0
, release/1.1.0
, release/1.1.2
, release/1.2.0
.
我可以添加什么到我的以下功能,可以默认为最新的可用版本?
relb(){
git checkout release/???
git pull
}
解决方案
您可以使用--sort='-v:refname'
作为选项来git branch
按 refname 进行版本排序,1降序(the -
);该--format
选项确保输出中没有不需要的空格,并且head -n1
只返回一个分支:
git checkout \
"$(git branch \
--list \
--sort='-v:refname' \
--format='%(refname:short)' \
'release/*' \
| head -n1)"
你可能不得不git fetch
先。
或者,您可以完全不使用任何外部工具:1
git checkout \
"$(git for-each-ref \
--sort='-v:refname' --format='%(refname:short)' --count=1 \
refs/heads/release/)"
1帽子提示Hauleth指出git branch
内置排序并且git for-each-ref
可以做到这一切。
推荐阅读
- python - 二分查找,返回值未修改
- lua - Gmod Lua:制作一个附有覆盖层的简单 SWEP
- amazon-web-services - 如何使用 Boto3 从 AWS Glue 获取最后访问的分区
- python - Pandas 多索引数据框 - 从多索引多列中的一个索引中选择最大值
- java - 无法在 Ubuntu 20.10 上运行 VLCJ JavaFX
- r - 使用 dplyr 或 forcats 重新编码 NA 因子
- javascript - HtmlWebpackPlugin - 在 dist 上创建 html 但 js 链接不起作用
- numpy - 自定义 Python Monte Carlo 积分函数低估了多维积分
- python - discord.py 事件中的角色检查
- node.js - 组件名称未显示在 url