web-dev-qa-db-fra.com

Git clone verbose mode - affiche chaque objet entrant

Je me demande que git clone --verbose n'est pas très verbeux. Le résultat de l'exécution de la commande est le suivant:

$ 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. 

Le comportement attendu est de voir la liste des objets reçus un par un. Est-ce possible en utilisant d'autres options?

20
erkfel

Il n'est pas possible de lister les objets (fichiers, commits, blobs, etc.) un par un, simplement parce que git les regroupe dans un seul fichier pour des raisons d'efficacité. Pour la même raison, vous ne verrez qu'un dossier .git Caché pendant le clonage, les fichiers ne seront créés que si le fichier de pack complet a été téléchargé.

Si vous vous posez la question, ces fichiers pack seront téléchargés sur .git/objects/pack/ Avec un nom comme tmp_pack_XXXXXX. (plus tard, il sera renommé quelque chose comme pack-*.pack avec un fichier pack-*.idx associé)

15
Lekensteyn

J'accepte la réponse @Lekensteyn.

Si vous souhaitez suivre les commandes distantes git, ajoutez les variables d'environnement suivantes dans votre terminal, ce qui vous permet de voir ce qui s'exécute dans les coulisses d'une commande git.

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

Référence: https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables

Exemple de résultat de clonage après l'exportation enter image description here

enter image description here

enter image description hereenter image description here

13
Nayagam