检查环境变量和 HTTP 配置选项并没有透露任何信息。有办法做到这一点吗?
更通用的解决方案(也适用于 BSD)是编辑全局
/etc/ssh/ssh_config
或每个用户 ~/.ssh/config
并添加/替换条目:
AddressFamily any
使用以下行(其中
inet
对应于 ipv4
):
AddressFamily inet
您也可以仅为单个主机进行设置:
Host example.com
AddressFamily inet
使用 git 2.8(2016 年 3 月),您可以强制
git fetch
/push
/clone
使用 IPV4 或 IPV6。git pull
,请参阅下文 Git 2.16,2018 年第一季度)
请参阅 Eric Wong (ele828
)
的commit c915f11(2016 年 2 月 3 日)。
gitster
-- 合并于 commit e84d5e9,2016 年 2 月 24 日)
&connect
:支持http
和-4
开关进行远程操作-6
有时,有必要在名称查找可能返回不可路由地址并停止远程操作的网络上强制仅进行 IPv4 或仅进行 IPv6 操作。
-4, --ipv4:
仅使用 IPv4 地址,忽略 IPv6 地址。
-6; --ipv6:
仅使用 IPv6 地址,忽略 IPv4 地址。
更新 Git 2.16(2018 年第 1 季度):与文档相反,“
git pull -4/-6 other-args
”没有要求底层“git fetch
”通过 IPv4/IPv6,这一点已得到纠正。
参见 commit ffb4568(2017 年 11 月 19 日),作者:Shuyu Wei (``)。
(由 Junio C Hamano --
gitster
-- 合并于 commit c2b6135,2017 年 11 月 27 日)
git fetch --all --ipv4/--ipv6
(man)”忘记将协议选项传递给与各个遥控器通信的“git fetch”实例,这一问题已得到纠正。
请参阅提交 4e735c1(2020 年 9 月 15 日),作者:Alex Riesen (
ar-cetitec
)。gitster
-- 合并于 commit 6854689,2020 年 9 月 22 日)
:将fetch
和--ipv4
选项传递给子提取--ipv6
签字人:Alex Riesen
这些选项表明用户对整个获取操作的意图,并且在子获取中忽略它们(即“
”和子模块的递归获取)是非常意外的,例如,当打算将所有通信限制为由于某种原因的特定传输协议。--all
使用 Git 2.42(2023 年第 3 季度),无效选项
--no-ipv4
ou --no-ipv6
会被提前拒绝。
请参阅 Junio C Hamano (gitster
)提交 a2dad48
、commit ae2c912(2023 年 7 月 18 日)。
gitster
-- 合并于 commit 9562f19,2023 年 7 月 27 日)
:拒绝fetch
--no-ipv[46]
现在我们已经引入了
,调整其实现,以便“OPT_IPVERSION()
”(man)、“git clone
”(man),以及"git fetch
"(man) 拒绝使用仅 IP 版本 N 选项的否定形式。git push
因此,如果您使用
--no-ipv[46]
,您将看到“未知选项”。
在 99% 的情况下,您不应该这样做。这个问题的真正答案是修复你的 IPv6 连接。
如果失败,您可以编辑/etc/gai.conf
以优先选择 IPv4 而不是 IPv6。 gai.conf 修改了
getaddrinfo()
的行为,几乎所有支持 IPv6 的应用程序都使用它来解析主机名。几乎所有系统都在其
glibc
或
libc
包中附带 /etc/gai.conf 的副本。如果 /etc 中缺少它,通常我会发现模板副本潜伏在 /usr/share/doc 中的某处,供您复制到 /etc 并进行相应修改。
使用
host
获取 IPV4 地址并将其附加到 /etc/hosts 中,并命名为您自己使用的名称,例如
1.1.1.1 git4.server.com
在
hosts
文件底部添加以下行
2a01:4f8:c010:d56::2 github.com
2a01:4f8:c010:d56::3 api.github.com
2a01:4f8:c010:d56::4 codeload.github.com
2a01:4f8:c010:d56::5 objects.githubusercontent.com
2a01:4f8:c010:d56::6 ghcr.io
2a01:4f8:c010:d56::7 pkg.github.com npm.pkg.github.com maven.pkg.github.com nuget.pkg.github.com rubygems.pkg.github.com
参考: