3 回答
TA贡献1877条经验 获得超6个赞
调试
Git有一套相当完整的跟踪嵌入,您可以使用它来调试您的git问题。
要打开它们,您可以定义以下变量:
GIT_TRACE 一般的痕迹,
GIT_TRACE_PACK_ACCESS 用于跟踪packfile访问,
GIT_TRACE_PACKET 用于网络操作的数据包级跟踪,
GIT_TRACE_PERFORMANCE 用于记录性能数据,
GIT_TRACE_SETUP 有关发现与其交互的存储库和环境的信息,
GIT_MERGE_VERBOSITY 用于调试递归合并策略(值:0-5),
GIT_CURL_VERBOSE用于记录所有curl消息(相当于curl -v),
GIT_TRACE_SHALLOW 用于调试浅层存储库的获取/克隆。
可能的值包括:
true,1或2写信给标准错误,
从/跟踪输出到指定文件开始的绝对路径。
SSH
对于SSH问题,请尝试以下命令:
echo 'ssh -vvv "$*"' > ssh && chmod +x ssh
GIT_SSH="$PWD/ssh" git pull origin master
或用于ssh验证您的凭据,例如
ssh -vvvT git@github.com
或通过HTTPS端口:
ssh -vvvT -p 443 git@ssh.github.com
注意:减少数量-v以减少详细程度。
例子
$ GIT_TRACE=1 git status
20:11:39.565701 git.c:350 trace: built-in: git 'status'
$ GIT_TRACE_PERFORMANCE=$PWD/gc.log git gc
Counting objects: 143760, done.
...
$ head gc.log
20:12:37.214410 trace.c:420 performance: 0.090286000 s: git command: 'git' 'pack-refs' '--all' '--prune'
20:12:37.378101 trace.c:420 performance: 0.156971000 s: git command: 'git' 'reflog' 'expire' '--all'
...
$ GIT_TRACE_PACKET=true git pull origin master
20:16:53.062183 pkt-line.c:80 packet: fetch< 93eb028c6b2f8b1d694d1173a4ddf32b48e371ce HEAD\0multi_ack thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed symref=HEAD:refs/heads/master agent=git/2:2.6.5~update-ref-initial-update-1494-g76b680d
...
- 3 回答
- 0 关注
- 704 浏览
添加回答
举报