如何阅读git show命令的输出结果

6

我刚开始学习VC,特别是git。我知道基本的命令,比如git add/commit/remote,但是解释输出结果却很困难:

$ git show f27d852

commit f27d852fc750a9c3f71eaf0acf586164b76faddf
Author: myusername <myemail@gmail.com>
Date:   Tue Jun 28 22:59:35 2016 +0530

    changed color to a different color

diff --git a/css/business-casual.css b/css/business-casual.css
index bbd44d7..ee1765e 100644
--- a/css/business-casual.css
+++ b/css/business-casual.css
@@ -194,5 +194,5 @@ footer p {
 /* CUSTOM CSS - BY ME */

 .brand {
-       color: #ff0000;
-       }
\ No newline at end of file
+       color: #ffdd000;
+       }

每行代码的含义是什么?如何读取它们?有人能解释一下吗?
谢谢 dk

1
这只是向您展示最近提交(在当前分支上)的详细信息 - 元数据加上差异。哪个部分特别有问题? - Oliver Charlesworth
我不理解以下几行代码:diff --git a/..... b/ --- a/... +++ b/.. @@ -194,5 +194,5 @@ footer p {(为什么会有对于 footer p{} 的引用,它从未被更改,并且与第194行毫无关系),以及 \ No newline at end of file 这一行,实际上在文件末尾有空白行。 - dkjain
"No newline at end of file" 的消息表示其中一个文件(在此情况下为第一个文件)是不完整的。最后一行没有以换行符结束,而文本文件中的行应该是这样的。请参阅此问题的链接:https://dev59.com/b3RB5IYBdhLWcg3wET1J。 diff 输出告诉您有关两个文件之间更改的所有内容,即使对此次更改您可能不太关心的小细节也是如此。 - user2404501
2个回答

8
commit f27d852fc750a9c3f71eaf0acf586164b76faddf

提交的SHA1值。
Author: myusername <myemail@gmail.com>

该作者的姓名和电子邮件可能不同于提交者的姓名和电子邮件。

Date:   Tue Jun 28 22:59:35 2016 +0530

作者日期可能与提交者日期不同。
changed color to a different color

提交记录信息。它可以是一行,也可以是第一部分 + 空行 + 其他部分。仅有的一行或空行之前的第一部分是主题,空行之后的其他部分是正文
diff --git a/css/business-casual.css b/css/business-casual.css

比较的两个文件。
index bbd44d7..ee1765e 100644

bbd44d7是变更前blob的sha1值,ee1765e是变更后blob的sha1值。您可以运行git show <blob-sha1>git cat-file -p <blob-sha1>来查看blob的内容。

--- a/css/business-casual.css

改变之前的文件。
+++ b/css/business-casual.css

文件变更后的结果。
    @@ -194,5 +194,5 @@ footer p {
 /* CUSTOM CSS - BY ME */

 .brand {
-       color: #ff0000;
-       }
\ No newline at end of file
+       color: #ffdd000;
+       }

194是差异开始的行数,5是上下文行数。footer p {表示差异部分的位置。没有前缀+或-的行是未更改的行。如果您添加一行,则为+。如果您删除一行,则为-。如果您修改一行,则为-和+。


虽然我已经从 Stack Overflow 上的另一个答案中理解了大部分内容,但仍然感谢您以比其他答案更详细的方式回复了这个问题。 - dkjain

2

它提供了有关提交的详细信息,然后列出了更改文件及其差异的列表(有关详细信息,请参见统一差异格式):

# commit id:
commit f27d852fc750a9c3f71eaf0acf586164b76faddf
# author:
Author: myusername <myemail@gmail.com>
# date committed:
Date:   Tue Jun 28 22:59:35 2016 +0530
# commit message:
    changed color to a different color
# difference for css/business-casual.css :
diff --git a/css/business-casual.css b/css/business-casual.css

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接