web-dev-qa-db-fra.com

Que fait git show à lui seul?

Si j'utilise git show Tout seul dans un dépôt git, il affiche un tas d'informations telles que les commits, les différences, etc.

Cette page ( https://git-scm.com/docs/git-show ) dit simplement:

Shows one or more objects (blobs, trees, tags and commits).

Je suppose que c'est le dernier commit. Et quelques différences (qui ne sont pas mentionnées dans la page des documents).

Mais que montre-t-il exactement?

Voici la sortie complète, plutôt incompréhensible, ...

$ git show
commit <sha1 A> (HEAD -> A)
Merge: <sha1 B> <sha1 C>
Author: Snowcrash <my@email>
Date:   Sat Jul 14 14:56:02 2018 -0700

    with both files

diff --cc 1
index <sha1 D>,<sha1 E>..<sha1 F>
--- a/1
+++ b/1
@@@ -1,5 -1,6 +1,12 @@@
  1

++<<<<<<< HEAD
 +A
 +B
 +C
++=======
+ C
+ D
+ E
+
++>>>>>>> master
diff --cc 2
index 0000000,0000000..<sha1 G>
new file mode 100644
--- /dev/null
+++ b/2
@@@ -1,0 -1,0 +1,1 @@@
++2
6
Snowcrash

Comme emlai a écrit , git show décrit le commit HEAD par défaut. Quant à ce que il montre à propos du HEAD commit, le git-show page de manuel décrit la sortie:

Pour les validations, il affiche le message du journal et le diff textuel. Il présente également le commit de fusion dans un format spécial tel que produit par git diff-tree --cc.

Au moins pour les validations sans fusion, cette sortie est la même que la sortie de git log --cc HEAD~..HEAD. Le --cc flag fait apparaître le diff.

6
Rory O'Kane

git show est équivalent à git show HEAD, c'est-à-dire le dernier commit de la branche courante ( plus d'infos ).

Source: https://github.com/git/git/commit/9f5258cbb8f8ed2bf86b0078f178a26adc572eb9

3
emlai