Git clone verbose mode – show each incoming object

2020-05-25 06:15发布

问题:

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



标签: git verbose