web-dev-qa-db-ja.com

`git show`はそれ自体で何をしますか?

Git repoで_git show_を単独で使用すると、コミット、差分などの一連の情報が表示されます。

このページ( 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
_
8
Snowcrash

emlaiが書いた のように、git showはデフォルトでHEADコミットを説明します。 whatについては、HEADコミットについて示しています git-showマニュアルページ は、出力:

コミットの場合、ログメッセージとテキスト形式の差分が表示されます。また、git diff-tree --ccによって生成される特殊な形式でマージコミットを示します。

少なくとも非マージコミットの場合、この出力はgit log --cc HEAD~..HEADの出力と同じです。 --ccフラグを指定すると、差分が表示されます。

6
Rory O'Kane

git showgit show HEADと同等です。つまり、現在のブランチの最新のコミットです( 詳細 )。

ソース: https://github.com/git/git/commit/9f5258cbb8f8ed2bf86b0078f178a26adc572eb9

3
emlai