您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在shell脚本中将当前git分支的名称转换为变量?

如何在shell脚本中将当前git分支的名称转换为变量?

*被展开,您可以使用sed而不是grep并立即获得分支的名称

branch=$(git branch | sed -n -e 's/^\* \(.*\)/\1/p')

以及Noufal Ibrahim建议的使用git symbolic-ref的版本

branch=$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,')

要详细说明扩展(如marco所做的那样),扩展是在回显中进行的,当您echo $test使用包含“ * master”的$ test时,*将根据常规扩展规则进行扩展。为了抑制这种情况,必须引用该变量,如marco:所示echo "$test"。另外,如果您在回显星号之前将其删除,则一切都会很好,例如,echo ${test:2}仅回显“ master”。或者,您可以按照您已经提出的建议重新分配它:

branch=${test:2}
echo $branch

如您所愿,这将回显“ master”。

其他 2022/1/1 18:18:16 有608人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶