我想在Windows上查看最新的git标签。
我在Linux上使用以下命令:
git checkout `git describe --tags --abbrev=0 origin/master`
Windows上这个命令的等价物是什么?
我尝试使用for
& set
将反引号命令扩展为变量,以便在git checkout
上使用。
我开始时:
for /f %a in ('git describe') do (echo %a)
。
返回v1.0.18-131-g792d5a2
。这有效,但包含的信息太多了。我只需要v1.0.18
。这就是为什么我尝试使用--abbrev=<n>
来抑制长格式并仅显示最接近的标记。
当我添加参数时:
for /f %a in ('git describe --tags --abbrev=0 origin/master') do (echo %a)
它失败了:fatal: Not a valid object name 0
。不知道为什么......
这是我到目前为止所得到的:
checkout-latest-tag.bat
@echo off
for /f "usebackq delims=" %%a in ('git describe --tags --abbrev=0 origin/master') do (
set LATEST_TAG=%%a
)
echo The latest tag is: %LATEST_TAG%
git checkout %LATEST_TAG%
如果你能想出一个单行,那就太好了。
答案 0 :(得分:3)
使用^
来逃避有问题的=
。
for /f %%a in ('git describe --tags --abbrev^=0 origin/master') do git checkout %%a