Bash脚本克隆Git仓库报错求助:SSH克隆git://URL问题
解决Git SSH克隆时的git://格式URL错误问题
首先,咱们先拆解你的问题:你遇到的错误提示是因为Git的代理配置(core.gitProxy或GIT_PROXY_COMMAND)导致它试图用SSH去处理git://协议的仓库链接,而你的目标是用SSH协议克隆GitHub仓库,同时你的脚本逻辑也有点偏离克隆仓库的正确方式,下面一步步帮你解决:
1. 清理干扰的Git代理配置
直接运行以下命令移除可能导致混淆的代理设置:
- 全局取消
core.gitProxy配置:
如果是单个仓库的问题,去掉git config --global --unset core.gitProxy--global参数,切换到对应仓库目录后再运行。 - 临时取消
GIT_PROXY_COMMAND环境变量:
如果这个变量是在你的shell配置文件(比如unset GIT_PROXY_COMMAND~/.bashrc、~/.zshrc)里设置的,打开文件找到对应行删掉,这样下次启动shell就不会再加载这个变量了。
2. 修正克隆仓库的脚本逻辑
你原来的脚本用ssh去远程列目录,这不是克隆Git仓库的正确方式。要克隆GitHub上的exercism-haskell仓库,直接用git clone命令即可,正确的脚本应该是这样:
# 定义仓库的SSH地址(GitHub的SSH格式为 git@github.com:用户名/仓库名.git) repo_url="git@github.com:Spiderworks007/exercism-haskell.git" # 克隆仓库到当前目录,也可以指定目标目录,比如 git clone "$repo_url" ./my-haskell-repo git clone "$repo_url"
3. 验证SSH连接权限
确保你的本地SSH密钥已经添加到GitHub账户,否则克隆时会出现权限问题。运行以下命令测试连接:
ssh -T git@github.com
如果输出类似Hi Spiderworks007! You've successfully authenticated, but GitHub does not provide shell access.,说明SSH连接配置正常。
按照上面的步骤操作,应该就能顺利克隆目标仓库啦。
内容的提问来源于stack exchange,提问作者Spider Works
相关产品推荐
相关产品推荐

