无法解析主机名http:Laravel项目推送到DigitalOcean服务器失败求助
解决Git推送DigitalOcean时的"Could not resolve hostname http"错误
嘿,这个问题我碰到过不少次,根源其实出在你的Git远程仓库地址配置上,咱们一步步来拆解:
为什么会出现这个错误?
你看到的ssh: Could not resolve hostname http报错,说明Git正尝试用SSH协议去连接一个名叫"http"的主机——这明显是不存在的。大概率是你把Git远程仓库的地址格式写错了,把HTTPS和SSH的格式混在了一起,导致Git识别错误。
具体解决步骤
1. 先检查当前的远程仓库地址
打开终端,在你的Laravel项目根目录下运行这个命令,看看当前配置的远程地址是什么:
git remote -v
你大概率会看到类似ssh://http://xxx或者其他混乱的格式,这就是问题所在。
2. 修正远程仓库地址
因为你说用的是密码登录,那应该用HTTPS格式的远程地址(SSH方式需要密钥,而HTTPS直接用密码验证)。
运行下面的命令修改远程地址(把https://你的正确地址换成DigitalOcean上仓库的HTTPS地址,比如https://your-username@your-do-server-ip/your-repo-name.git):
git remote set-url origin https://你的正确地址
如果你之后想改用SSH方式(不需要每次输密码),可以换成SSH格式的地址,比如git@your-do-server-ip:your-repo-name.git,不过那需要提前配置SSH密钥到DigitalOcean服务器上。
3. 验证并重新推送
再次运行git remote -v确认地址已经改成正确的HTTPS格式,然后尝试推送:
git push origin main # 或者你的分支名,比如master
这时候应该就会弹出密码输入框,输入后就能正常推送了。
小提醒
别混淆Git的两种远程地址格式:
- SSH格式:
git@主机地址:仓库路径(不需要输密码,但要配置SSH密钥) - HTTPS格式:
https://主机地址/仓库路径(每次推送输密码,配置简单)
内容的提问来源于stack exchange,提问作者Patrick Obafemi
相关产品推荐
相关产品推荐

