Git clone verbose mode – show each incoming object

☆樱花仙子☆ 提交于 2019-12-31 18:55:12

问题


I’m wondering that git clone --verbose is not very verbose. The output of executing the command is the following:

$ git clone --verbose <repo>
remote: Counting objects: 184, done
remote: Finding sources: 100% (184/184)
remote: Total 184 (delta 66), reused 183 (delta 66)
Receiving objects: 100% (184/184), 18.90 KiB, done.
Resolving deltas: 100% (66/66), done. 

The expected behaviour is to see the list of the received objects one by one. Is that possible using some other options?


回答1:


It is not possible to list objects (files, commits, blobs, whatever) one-by-one, simply because git packs them in a single file for efficiency reasons. For the same reason, you will only see a hidden .git folder while cloning, files will be created only if the full pack file has been downloaded.

If you are wondering, these pack files will be downloaded to .git/objects/pack/ with a name like tmp_pack_XXXXXX. (later on, it will be renamed to something like pack-*.pack with a related pack-*.idx file)




回答2:


I accept @Lekensteyn answer.

If you want to trace git remote commands,add following environmental variables into your terminal.This helps you to peek into what is running behind the scenes of a git command.

export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1

Reference:https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables

Sample Cloning Result after export



来源:https://stackoverflow.com/questions/17599999/git-clone-verbose-mode-show-each-incoming-object

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!