致命:使用 HTTPS git 存储库时无法访问无法解析主机 gitlab 错误

fatal: unable to access cannot resolve host gitlab error when using HTTPS git repository

这是在 WSL2 运行 ubuntu 20.04.

我正在尝试使用我计算机上的一组现有代码,并将其放入我在 gitlab 上设置为 HTTPS 的空存储库中。它不是为 SSH 设置的,不能切换到 SSH。我看到的所有答案都是针对 SSH 的,但没有用。

这是我做的:

git init
git remote add origin https://username@url/repository.git
git config http.sslVerify "false"
git commit -m "message"
git push -u origin master

出现致命错误:无法访问 [url] 无法解析主机 [host]

这是我从那以后尝试过的方法:

git set-origin https://username@url/repository.git
git set-url origin https://username@url/repository.git

再次尝试推送时,都出现了同样的错误。它没有像在做时那样提示我登录 git -c http.sslVerify=false clone https://username@url/repository.git

有没有办法让它以这种方式进行验证,还是我必须在其他地方克隆存储库并将所有内容复制过来?

谢谢!

几天后,我找到了答案。

在 WSL 中,我没有正确设置 /etc/resolv.conf。这是我设置它的步骤。

在 windows 中,ipconfig.exe /all 记下 WSL 需要访问的所有 DNS 服务器。

创建或编辑 /etc/wsl.conf 说

[network]
generateResolvConf = false

检查 /etc/resolv.conf 是否设置为不可变 lsattr /etc/resolf.conf WSL 通常将它们设置为不可变,如果设置为不可变,您将无法编辑它.为了使它不再是不可变类型 chattr +i /etc/resolf.conf.

之后,将 windows 中的所有 DNS IP 添加到 resolv.conf 文件中,如下所示 namespace 0:0:0:0。将 namespace 8:8:8:8 保留在末尾作为备份,以防失败。 8:8:8:8 是 google 并允许您使用 ping google.com 检查您是否有互联网,或者您是否完全离线。

要使其生效,您必须关闭所有打开的 WSL windows。然后,在 powershell 或命令提示符中,您需要键入 wsl --shutdown 以使您的更改生效。