我在提交日志中搜索了一个感兴趣的主题:
$ git log --pretty=oneline | grep -i ...
$SHA1 < ... commit message ... >
我现在有了一个SHA1
,我想知道有关影响该SHA1
的文件的信息,然后可能会将它们与其父文件一起diff
。我怎么才能做到这一点呢?
发布于 2011-09-30 20:12:09
git show <SHA1>
将显示提交日期、作者、父文件和从父提交更改的文件的差异。
发布于 2016-04-04 18:30:09
git show --no-patch --oneline <SHA1>
git show --no-patch <SHA1>
这是对没有回复框的View a specific Git commit的回答,因为它已被标记为此问题的副本。一些寻找上述问题答案的人可能会点击链接并在这里寻找答案。
这两个问题都是关于从提交的SHA1代码中获取提交信息的问题。
有时,当您通过提交的SHA1代码确定提交时,您可能希望了解有关它的所有信息:所有更改的文件、实际更改的内容等。
另一个问题要具体得多。有人在文件中有一个可疑的软件行,并使用"git SHA1“将其跟踪到特定的git代码。然后,他们只是想知道用人类的术语来说,是哪种软件变化引入了这一行。没有兴趣知道所有其他更改的文件,没有兴趣获得文件的完整差异,甚至没有兴趣获得该文件的差异。它只是简单地知道是哪一项更改引入了一行代码。
不是像这样的信息
c27feeaa9b2c6270ff559b21eaf9f1e0317676a7
我们需要像这样的信息
Humanitarian Aid Feature
或
Left handed Thread Fix
为此,请使用
git show --no-patch --oneline <SHA1>
其中git show --no-patch (即使用--no-patch选项)是回答eykanal问题View a specific Git commit的关键
使用
git show --no-patch <SHA1>
如果你也想要作者和日期信息。
发布于 2017-12-12 17:58:03
您还可以使用cat-file命令获取有关提交对象的特定信息(使用SHA1
)。
例如,git cat-file -p <sha1>
示例输出:
$ git cat-file -p xxxx
tree <sha1>
parent <sha1>
parent <sha1>
author <author> <unix timestamp>
committer <committer> <unix timestamp>
<commit message>
https://stackoverflow.com/questions/7610073
复制相似问题