设置系统代理的方法
fatal: unable to access 'https://github.com/galaxy-vagrant/LaneGANet.git/': Failed to connect to github.com port 443 after 21084 ms: Could not connect to server
有时候取消代理设置仍然会出现报错,这时可以通过设置系统代理来解决。具体步骤如下:
1 打开系统设置,搜索代理设置(手动设置代理),并点击编辑按钮。
2 在代理服务器中,将端口设置为7890(这个端口不会影响正常上网,可以放心设置),然后点击保存。
3 在终端输入以下命令,设置 Git 使用本地代理:
git config --global http.proxy http://127.0.0.1:7890
设置完成后,可以通过以下命令检验是否设置成功:
git config --global -l
情况一:
有些是不设置代理的话,是完全不能访问
1 取消git代理时
git push origin main
fatal: unable to access 'https://github.com/galaxy-vagrant/LaneGANet.git/': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0
但是很奇怪,ping github.com
是可以ping通的
2 设置了git代理,但是没开代理(设置方法见下面)
git config --global http.proxy http://127.0.0.1:7890
fatal: unable to access 'https://github.com/galaxy-vagrant/LaneGANet.git/': Failed to connect to 127.0.0.1 port 7890 after 2061 ms: Could not connect to server
3 设置git代理,开启代理的方法
Everything up-to-date
情况二:
有些是设置了代理之后,没开代理没法访问(这是当然),设置代理后开启代理可以访问,取消设置代理也可以访问。
取消设置代理的方法:
git config --global --unset http.proxy
git config --global --unset https.proxy
总结
要想不设置代理的时候也能访问需要配置全局 safe.directory
,在所有 Git 仓库中都信任某个目录,可以将其添加到全局 Git 配置中,
git config --global --add safe.directory G:/mkdocs-site
这些命令会将指定的目录添加到全局 Git 配置中,确保在任何 Git 仓库中都可以信任这些目录。
如果只想在特定的 Git 仓库中信任某个目录,可以在该仓库的目录下执行以下命令:
cd path/to/your/repo # 替换为你的仓库路径
git config --add safe.directory G:/mkdocs-site
这些命令会将指定的目录添加到当前仓库的 Git 配置中,仅在该仓库中信任这些目录.
通过以下命令来验证 safe.directory
是否配置成功:
git config --get-all safe.directory
配置文件位置 :全局 Git 配置通常位于用户的主目录下的 .gitconfig
文件中,而仓库的 Git 配置位于仓库目录下的 .git/config
文件中.
多目录配置 :如果需要信任多个目录,可以多次使用 git config --add
命令来添加每个目录。
明晰:
- 配置
safe.directory
主要是为了信任特定目录,避免权限问题 ,而代理则是用于网络访问的工具。 - 在某些情况下,配置
safe.directory
可能会使你能够直接访问 Git 仓库,而不需要使用代理,尤其是在本地操作时。 - 需要访问外部资源(如 GitHub),而这些资源在网络环境中受到限制,仍然需要使用代理。