Batch file 无法使用正斜杠执行命令
我想创建一个批处理文件,以执行一组Git命令:Batch file 无法使用正斜杠执行命令,batch-file,Batch File,我想创建一个批处理文件,以执行一组Git命令: 获取新的远程存储库 创建本地存储库以跟踪远程分支并签出新的本地分支 第二个Git命令使用正斜杠(origin/[repositoryName]),并给出以下错误: “致命:缺少分支名称;请尝试-b” 首先,git命令获取远程存储库 第二个git命令给出错误: 致命:“缺少分支名称;试试-b” 如评论中所述,您应该使用以下代码: @echo关闭 设置/p“分支机构=输入远程分支机构名称:” git获取源%branch% git签出--跟踪原点/%分支
origin/[repositoryName]
),并给出以下错误:
“致命:缺少分支名称;请尝试-b
”
首先,git
命令获取远程存储库
第二个git
命令给出错误:
致命:“缺少分支名称;试试-b
”
如评论中所述,您应该使用以下代码:
@echo关闭
设置/p“分支机构=输入远程分支机构名称:”
git获取源%branch%
git签出--跟踪原点/%分支%
稍微修改一下
- 您不需要在批处理文件中尖叫:)它是一种不区分大小写的语言
- 设置变量时,不要在
周围添加额外的空格。因为这样,解释器将其解释为=
和var
值
- 此外,请以如下格式引用变量名称和值:
set“var=value”
@echo关闭
设置/p“分支机构=输入远程分支机构名称:”
git获取源%branch%
git签出--跟踪原点/%分支%
稍微修改一下
- 您不需要在批处理文件中尖叫:)它是一种不区分大小写的语言
- 设置变量时,不要在
周围添加额外的空格。因为这样,解释器将其解释为=
和var
值
- 此外,请以如下格式引用变量名称和值:
set“var=value”
分离头上
,不会创建本地分支。请尝试git签出--track-b%branch%origin/%branch%
删除=
symbol@eftshift0:那里有两种方法可以创建跟踪远程分支(也称为alpha)的本地分支(称为alpha):1)git签出-b alpha-origin/alpha或2)git签出-跟踪alpha-origin/alpha。第二个版本有点捷径-它创建了一个与远程分支同名的本地分支,并使本地分支成为远程分支。第一个版本允许您选择将本地分支命名为与预期的远程分支不同的名称跟踪(至少根据我的理解)。我的问题是如何处理bat文件中的正斜杠。如前所述,如果将SET/P branch=输入远程分支名称:
替换为SET/P branch=输入远程分支名称:
并输入有效的分支名称,则问题应该是。请注意,SET/P branch=…
正在创建一个名为%的变量ch%
,所以两者都可以(不推荐)在<代码> %Chans%<代码>或上面提到的解决方案中替换<代码> %Chans。@ USSR660460在询问问题之前考虑阅读A命令的帮助文件。您可以通过打开命令提示符并键入:<代码> SET// >“代码> > SET//C>命令的语法清楚地显示变量名A之间没有空格。nd等于符号:SET[variable=[string]]
。我的猜测是--track只有在您签出本地分支时才有意义?因为您签出的方式,它只会将您设置在分离头上
,不会创建本地分支。请尝试git checkout--track-b%branch%origin/%branch%
删除=
symbol@eftshift0:th有两种方法可以创建跟踪远程分支(也称为alpha)的本地分支(称为alpha):1)git签出-b alpha-origin/alpha或2)git签出-跟踪alpha-origin/alpha。第二个版本有点捷径-它创建了一个与远程分支同名的本地分支,并使本地分支成为远程分支。第一个版本允许您选择将本地分支命名为与预期的远程分支不同的名称跟踪(至少根据我的理解)。我的问题是如何处理bat文件中的正斜杠。如前所述,如果将SET/P branch=输入远程分支名称:
替换为SET/P branch=输入远程分支名称:
并输入有效的分支名称,则问题应该是。请注意,SET/P branch=…
正在创建一个名为%的变量ch%
,所以两者都可以(不推荐)在<代码> %Chans%<代码>或上面提到的解决方案中替换<代码> %Chans。@ USSR660460在询问问题之前考虑阅读A命令的帮助文件。您可以通过打开命令提示符并键入:<代码> SET// >“代码> > SET//C>命令的语法清楚地显示变量名A之间没有空格。nd等于符号:SET[variable=[string]]
。
@ECHO OFF
SET /P branch = Enter remote branch name:
git fetch origin %branch%
git checkout --track origin/%branch%