git show本身是做什么的?

Sno*_*ash 6 git git-show

如果我git show在git repo中单独使用所有内容,则会显示一堆信息,例如commits,diffs等。

此页面(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
Run Code Online (Sandbox Code Playgroud)

Ror*_*ane 6

emlai所写,默认情况下git show描述HEAD提交。至于什么它显示了有关HEAD承诺,在git-show手册页描述了输出:

对于提交,它将显示日志消息和文本差异。它还以产生的特殊格式显示合并提交git diff-tree --cc

至少对于非合并提交,此输出与的输出相同git log --cc HEAD~..HEAD。该--cc标志导致显示差异。


eml*_*lai 5

git show相当于git show HEAD,即当前分支中的最新提交(更多信息)。

来源:https : //github.com/git/git/commit/9f5258cbb8f8ed2bf86b0078f178a26adc572eb9