Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在批处理文件中删除git分支时找不到批处理文件_Git_Batch File_Merge - Fatal编程技术网

在批处理文件中删除git分支时找不到批处理文件

在批处理文件中删除git分支时找不到批处理文件,git,batch-file,merge,Git,Batch File,Merge,我试图在我的repo中执行一些子树同步,我想使用一个批处理文件来创建一个临时git分支,合并更改,提交并推送它们,然后想要删除临时分支。除git delete分支外,所有操作均成功,该分支发出消息:无法找到批处理文件 批处理文件: @ECHO OFF SETLOCAL PUSHD "%~dp0" SET MERGEBRANCH=%USERNAME%/merge/dotbuild git checkout -b %MERGEBRANCH% git remote add -f d

我试图在我的repo中执行一些子树同步,我想使用一个批处理文件来创建一个临时git分支,合并更改,提交并推送它们,然后想要删除临时分支。除git delete分支外,所有操作均成功,该分支发出消息:无法找到批处理文件

批处理文件:

@ECHO OFF
SETLOCAL
PUSHD "%~dp0"
SET MERGEBRANCH=%USERNAME%/merge/dotbuild
git checkout -b %MERGEBRANCH%
git remote add -f dotbuild <repo_path>
git pull dotbuild master
git merge --squash -s subtree -X theirs --allow-unrelated-histories --no-commit dotbuild/master
git add .
git commit -m "Pull updates from DotBuild"
git push --set-upstream origin %MERGEBRANCH%
git remote rm dotbuild
git checkout master
git branch -D %MERGEBRANCH%
POPD
ENDLOCAL
@ECHO关闭
SETLOCAL
PUSHD“%~dp0”
设置MERGEBRANCH=%USERNAME%/merge/dotbuild
git签出-b%MERGEBRANCH%
git远程添加-f dotbuild
git拉点构建主控程序
git merge--squash-s子树-X他们的--允许不相关的历史--不提交dotbuild/master
git添加。
git commit-m“从DotBuild获取更新”
git push--设置上游原点%MERGEBRANCH%
git远程rm dotbuild
切换到主分支
git分支-D%MERGEBRANCH%
流行音乐
端部

这种错误主要出现在Windows 7上,而不是Windows 10上(也不是node,但类似的想法必须适用于Git命令序列):

我刚刚尝试在64位Windows7上运行eject。由于
cmd.exe
(windows 7的命令行)不将批处理文件全部读取到内存中以执行它们,而是逐个读取和执行命令,因此会引发错误

在后面的步骤中,当删除节点_模块时,它还会在弹出过程的中途删除实现批处理文件的依赖项。但是,由于Windows7控制台需要再次读取它以执行下一个命令,或者知道没有其他命令可以执行,因此抛出了错误消息

据我所知,安装程序应该在Windows10中运行,因为那里的comandline已经被完全修改过了


这种错误主要出现在Windows 7上,而不是Windows 10上(也不是node,但类似的想法必须适用于Git命令序列):

我刚刚尝试在64位Windows7上运行eject。由于
cmd.exe
(windows 7的命令行)不将批处理文件全部读取到内存中以执行它们,而是逐个读取和执行命令,因此会引发错误

在后面的步骤中,当删除节点_模块时,它还会在弹出过程的中途删除实现批处理文件的依赖项。但是,由于Windows7控制台需要再次读取它以执行下一个命令,或者知道没有其他命令可以执行,因此抛出了错误消息

据我所知,安装程序应该在Windows10中运行,因为那里的comandline已经被完全修改过了


奇怪的是,我在Windows10上面对这个问题。您能想出任何解决方案吗?@RichaDua首先简化脚本,看看问题是否仍然存在:例如,只保留分支的创建/删除。其次,将echo设置为on,以确认错误发生的确切时刻。您使用的是什么版本的Git for Windows?我试图简化它,并找出导致上述错误的代码行。它似乎在分支删除时失败,而之前有一个提交,你能想一想原因吗?@RichaDua当它失败时,
MERGEBRANCH
的值是什么?它是相同的/merge/dotbuild奇怪的是,我在Windows 10上面临着这个问题。您能想出任何解决方案吗?@RichaDua首先简化脚本,看看问题是否仍然存在:例如,只保留分支的创建/删除。其次,将echo设置为on,以确认错误发生的确切时刻。您使用的是什么版本的Git for Windows?我试图简化它,并找出导致上述错误的代码行。它似乎在分支删除时失败,之前有一个提交,你能想一想为什么吗?@RichaDua当它失败时,
MERGEBRANCH
的值是什么?它是相同的/merge/dotbuild