繁体   English   中英

将“git describe --abbrev = 0”结果转换为变量

[英]Get “git describe --abbrev=0” results into a variable

目标:将git describe --tag=Foo --abbrev=0的输出转换为Windows环境变量。

我的尝试:

C:\Projects\Foo> FOR /F "tokens=* USEBACKQ" %F IN \
   (`git describe HEAD --match "Foo*" --abbrev=0 --debug`) DO SET Var=%F

结果:

describe HEAD refs或tags上没有完全匹配,搜索描述

完成搜索d501f4f270405435692e5eb369fafbb53f0c74a2注释463 Foo0.0-beta遍历562次提交

describe 0 fatal:不是有效的对象名0

这是一个奇怪的致命错误。 没有FOR ,Git工作:

git describe HEAD --match "Foo*" --abbrev=0 --debug

在refs或标签上没有完全匹配,搜索描述

完成搜索d501f4f270405435692e5eb369fafbb53f0c74a2注释463 Foo0.0-beta遍历562次提交

Foo0.0-β

现在describe 0 fatal可以追溯到--abbrev=0参数,但这是一个重要的论点。 似乎FOR已经将--abbrev=0参数分成两部分,这导致Git将0视为哈希值,并试图找到一个标记来描述该哈希值。

参考: 将命令的输出转换为变量使用git describe获取标记名称

使用插入符号逃脱=(^)

FOR /F "tokens=* USEBACKQ" %F IN \
   (`git describe HEAD --match "Foo*" --abbrev^=0 --debug`) DO SET Var=%F 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM