fatal: protocol ‘git@sys-gitlab.hikvision.com.cn:https‘ is not supported

fatal: protocol 'git@sys-gitlab.hikvision.com.cn:https' is not supported

这个错误的原因是你输入的地址格式完全不对 。你可能在执行命令时,不小心把 https 这个单词当作路径写在了后面,导致 Git 识别不出这是什么协议。

标准的 SSH 地址格式应该是:git@服务器地址:组名/项目名.git

请按照以下步骤彻底重置远程地址:

第一步:获取正确的 SSH 地址(最重要)

  1. 打开浏览器,进入你的 GitLab 项目主页。
  2. 找到蓝色的 Clone 按钮。
  3. 复制 "Clone with SSH" 下方的那个地址。
    • 它看起来应该是这样的:git@sys-gitlab.hikvision.com.cn:zhangkaifan/my-project.git
    • 注意:里面绝对不会有 https 这个词。

第二步:强制覆盖错误的配置

在你的本地项目文件夹里,执行下面的命令(请把下面例子中的地址换成你刚刚复制的真实地址):

bash 复制代码
git remote set-url origin git@sys-gitlab.hikvision.com.cn:你的组名/你的项目名.git

第三步:验证地址是否正确

执行:

bash 复制代码
git remote -v

看清楚输出结果:

  • 正确: origin git@sys-gitlab.hikvision.com.cn:group/project.git (fetch)
  • 错误: 如果里面还带有 https 字符,说明你还是写错了。

如果还是搞不定,用这个"终极大法":

直接删掉重新加,避免旧配置干扰:

  1. 删掉现有的远程连接:

    bash 复制代码
    git remote remove origin
  2. 重新添加(注意替换为你在 GitLab 上复制的真实 SSH 地址):

    bash 复制代码
    git remote add origin git@sys-gitlab.hikvision.com.cn:你的组名/你的项目名.git
  3. 测试连接:

    bash 复制代码
    ssh -T git@sys-gitlab.hikvision.com.cn

    如果看到 Welcome to GitLab,就说明 SSH 没问题了。

  4. 推送代码:

    bash 复制代码
    git push -u origin master

    (如果你的分支叫 main,则把 master 换成 main)

为什么之前会报错?

报错 protocol '...:https' is not supported 是因为 Git 认为你尝试用一种叫 git@...:https 的奇怪协议去访问,而 Git 并不认识这种格式。SSH 地址里是不包含 https 这几个字母的。

error: remote origin already exists.

这个错误 error: remote origin already exists. 的意思是:你的项目中已经存在 一个名叫 origin 的远程仓库配置了。

因为 origin 这个名字被占用了,所以你不能用 add 命令,而应该用 set-url 命令来修改它,或者先删掉再添加。

请尝试以下两种方案中的任意一种:

方案一:直接修改现有的 origin 地址(推荐)

这是最简单的方法,直接把现有的 origin 指向新的 SSH 地址。

  1. 执行修改命令 (请务必将下面的地址替换为你从 GitLab 网页上复制的 SSH 地址):

    bash 复制代码
    git remote set-url origin git@sys-gitlab.hikvision.com.cn:你的组名/你的项目名.git
  2. 验证是否修改成功

    bash 复制代码
    git remote -v

    如果看到两条记录都变成了 git@sys-gitlab... 且没有 https 字样,就成功了。


方案二:先删除再添加

如果你觉得配置乱了,想彻底重来:

  1. 删掉现有的 origin

    bash 复制代码
    git remote remove origin
  2. 重新添加 SSH 地址(请替换为你的真实 SSH 地址):

    bash 复制代码
    git remote add origin git@sys-gitlab.hikvision.com.cn:你的组名/你的项目名.git

常见问题检查:

  • 地址里千万不要带 https
    • ❌ 错误:git@sys-gitlab.hikvision.com.cn:https://...
    • ✅ 正确:git@sys-gitlab.hikvision.com.cn:zhangkaifan/my-project.git
  • 冒号后面没有斜杠
    注意域名 .com.cn 后面是一个 冒号 : ,然后直接接 组名 ,中间不要写 https/

修改完成后测试:

尝试推送到服务器:

bash 复制代码
git push
  • 如果提示你类似 The authenticity of host... can't be established,请输入 yes
  • 如果不再提示输入密码,说明你彻底配置成功了!