我正在尝试使用此命令读取git远程存储库的最新提交
git ls-remote https://repo.myrepository.com/scm/swc/project.git refs/heads/qa
它工作正常,并给我类似的东西
5261626431661281d788382a1ed6ab1440fd93a8 refs/heads/qa
但是我无法以任何方式在线找到从命令行中返回的字符串中仅提取提交哈希的方法
我认为在网上找到这些信息非常容易,但是我到处都可以找到的唯一答案就是
git ls-remote https://repo.myrepository.com/scm/swc/project.git refs/heads/qa | \ cut -f 1
但这在Windows命令行中不起作用,它表示cut
不是公认的命令。
有人可以为Windows命令行版本提供帮助吗?
答案 0 :(得分:1)
for /f
是如何使用分隔符来“削减”令牌的方法。
在以下示例中,delims
是 Space 。
# inside of a batch file
# get first token, delimited by <space>
for /f "tokens=1,* delims= " %%a in (
'git ls-remote https://repo.myrepository.com/scm/swc/project.git refs/heads/qa'
) do echo %%a
# command line
# get second token, delimited by <space>
for /f "tokens=2,* delims= " %a in ('echo one two') do echo %a