Что делает `git show` сам по себе?

Если я использую git show само по себе в git-репо это показывает кучу информации, такой как коммиты, различия и т. д.

На этой странице ( https://git-scm.com/docs/git-show) просто сказано:

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

Я предполагаю, что это последний коммит. И некоторые различия (которые не упомянуты на странице документации).

Но что именно это показывает?

Вот полный, довольно непонятный вывод...

$ 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

2 ответа

git show эквивалентно git show HEAD, ie the latest commit in the current branch ( more info).

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

Как писал Эмлай, git show описывает HEAD совершать по умолчанию. Что касается того, что это показывает о HEAD совершать, git-show Страница справочника описывает вывод:

Для коммитов это показывает сообщение журнала и текстовый diff. Он также представляет коммит слияния в специальном формате, произведенном git diff-tree --cc,

По крайней мере для коммитов без слияния, этот вывод такой же, как и выход из git log --cc HEAD~..HEAD, --cc флаг заставляет diff показываться.

Другие вопросы по тегам