GitLab 14.95推送合并请求命令时出现‘unknown switch’错误的原因
Git push 报
unknown switch 'o'错误的解决办法 核心原因
你的Git版本过低,-o(对应长选项--push-option)是Git 2.10及以上版本才新增的功能,从你提供的git push用法输出里没有该选项,就能确认这一点。
解决步骤
升级Git版本
根据你的操作系统选择对应方式升级到2.10或更高版本:- Debian/Ubuntu系Linux:
sudo apt update && sudo apt install git - RHEL/CentOS系Linux:
yum update git - macOS(使用Homebrew):
brew upgrade git - Windows:直接下载最新Git安装包覆盖安装
- Debian/Ubuntu系Linux:
修正命令格式问题
你提供的命令1中,--push-option=后面多了空格,会导致Git解析错误,修正后的命令如下:git push --push-option=merge_request.create --push-option=merge_request.target=master --push-option=merge_request.title="Process Update" --push-option=merge_request.description="Adding changes to master." --push-option=merge_request.merge_when_pipeline_succeeds --push-option=merge_request.assign="r.i"命令2的格式本身没问题,升级Git后即可正常执行。
补充说明
GitLab的推送选项(push options)功能需要Git版本支持,升级完成后,这些命令就能正常创建合并请求(MR)并设置目标分支、标题、自动合并等参数。
内容的提问来源于stack exchange,提问作者Rubidium
相关产品推荐
相关产品推荐

