1. SSH 连接相关问题

Git 从版本 2.3.0 开始,可以使用 GIT_SSH_COMMAND 环境变量给 Git 传入临时设置的 SSH 连接参数。因此,可以传入 -v 参数来打印 SSH 连接的详细信息。ssh 命令可以接受 1~3 个 v 参数,数量越多,表示输出的信息越详细。

1
2
# For example
GIT_SSH_COMMAND="ssh -vvv" git clone git@xxx:path

2. HTTPS 连接相关问题

Git 使用 curl 库来处理 HTTPS 的连接,如果想要得到 HTTPS 连接的详细信息,可以临时设置环境变量 GIT_CURL_VERBOSE=1,这样设置近似等价于在进行 HTTPS 连接时 curl -v 的输出。

1
2
# For example
GIT_CURL_VERBOSE=1 git clone git@xxx:path

【注】GIT_CURL_VERBOSE 变量的可取值和下节「Git 相关问题」的环境变量相同,具体参见下文。

3. Git 相关问题

Git 设置了一系列的环境变量用于错误排查:

  • GIT_TRACE:启用一般跟踪消息。
  • GIT_TRACE_PACK_ACCESS:为对任何包的所有访问启用跟踪消息。
  • GIT_TRACE_PACKET:为进出给定程序的所有数据包启用跟踪消息。
  • GIT_TRACE_PACKFILE:启用对给定程序发送或接收的包文件的跟踪。
  • GIT_TRACE_PERFORMANCE:启用与性能相关的跟踪消息。
  • GIT_TRACE_SETUP:在 Git 完成其设置阶段后,启用打印 .git、工作树和当前工作目录的跟踪消息。
  • GIT_TRACE_SHALLOW:启用可以帮助调试浅存储库的获取/克隆的跟踪消息。
  • GIT_MERGE_VERBOSITY:控制递归合并策略显示的输出量的数字。

以上环境变量可取值如下表:

取值 含义
0false 关闭信息跟踪
1-2true 启用信息跟踪并打印到标准错误输出
3-10 启用信息跟踪并打印到数字对应的文件描述符中
<绝对路径> 启用信息跟踪并打印追加到对应的文件中

【注】更多 Git 环境变量说明参见 Git 文档

附录

参考资料: