【发布时间】:2014-02-18 12:39:42
【问题描述】:
连接到我的办公室网络时,我总是无法运行 git push。看来是网络设置问题。有什么建议可以解决问题或我应该向网络团队传达什么请求?
【问题讨论】:
-
注意:使用 Git 2.6(2015 年第三季度),
GIT_TRACE_PACKFILE也可以帮助调试。见my answer below
标签: git networking push
连接到我的办公室网络时,我总是无法运行 git push。看来是网络设置问题。有什么建议可以解决问题或我应该向网络团队传达什么请求?
【问题讨论】:
GIT_TRACE_PACKFILE 也可以帮助调试。见my answer below
标签: git networking push
您可以尝试设置几个选项来运行:
$ GIT_TRACE=2 git push
这将导致发出额外的调试信息并且可能有用。如果您使用 HTTP 连接到您的存储库,您可以尝试:
$ GIT_CURL_VERBOSE=1 git push
或者,您可以使用GIT_TRACE_PACKET 获取有关在线转账的更多信息:
$ GIT_TRACE_PACKET=1 git push
一旦看到数据包传输开始,它将停止跟踪数据包,但它可能有助于提供有关根本原因的更多信息。
您也可以组合这些选项。这可能是最有用的调用:
$ GIT_TRACE=2 GIT_TRACE_PACKET=1 git push
【讨论】:
Git 2.6+(2015 年第三季度)将提议对现有的 GIT_TRACE_PACKET 调试选项进行扩展。
见commit 3235983(2015 年 6 月 16 日)和commit d6d1a75、commit f3612ac(2015 年 6 月 12 日)Jeff King (peff)。
(由 Junio C Hamano -- gitster -- 合并于 commit 0b9ce18,8 月 3 日2015)
pkt-line:支持逐字跟踪包内容在调试包协议时,有时将我们发送或接收的逐字包存储在网络上很有用。由于以下几个原因,查看磁盘结果通常没有帮助:
- 如果操作是克隆,我们会在失败时销毁存储库,磁盘上没有任何内容。
- 如果包装很小,我们会立即打开包装,整个包装永远不会碰到磁盘。
- 如果我们将包提供给“
index-pack --fix-thin”,则生成的包会添加额外的增量碱基。我们已经有了一个
GIT_TRACE_PACKET机制来跟踪数据包。
让我们用GIT_TRACE_PACKFILE扩展它以转储逐字包文件。
【讨论】: