如何调试git / git-shell相关问题?

我如何获得有关git / git-shell的一些调试信息?


我有一个问题,user1可以克隆存储库没有问题,而user2只能克隆一个空的。我设定了GIT_TRACE=1,但没有任何有用的东西被告知。


最后,经过长时间的反复试验,结果证明这是文件的权限问题。适当的错误消息可能会使此问题短路。


繁星点点滴滴
浏览 642回答 3
3回答

回首忆惘然

对于更详细的输出使用如下:GIT_CURL_VERBOSE=1 GIT_TRACE=1 git pull origin master

慕哥9229398

调试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 sshGIT_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 status20:11:39.565701 git.c:350&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;trace: built-in: git 'status'$ GIT_TRACE_PERFORMANCE=$PWD/gc.log git gcCounting objects: 143760, done....$ head gc.log&nbsp;20:12:37.214410 trace.c:420&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;performance: 0.090286000 s: git command: 'git' 'pack-refs' '--all' '--prune'20:12:37.378101 trace.c:420&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;performance: 0.156971000 s: git command: 'git' 'reflog' 'expire' '--all'...$ GIT_TRACE_PACKET=true git pull origin master20:16:53.062183 pkt-line.c:80&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;packet:&nbsp; &nbsp; &nbsp; &nbsp; 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...
打开App,查看更多内容
随时随地看视频慕课网APP