GIT在特定提交之前获取提交哈希

GIT在特定提交之前获取提交哈希,git,shell,centos,Git,Shell,Centos,git 1.7.1 git show:根据提供的提交散列提供文件 我正在试图弄清楚如何在我拥有的哈希值之前打赌上一次提交的文件 我知道我总是可以使用日志来获取所有哈希值,并找出我需要的哈希值,但在我的情况下,这不是一个好的解决方案,因为我正试图将性能问题所需的命令数量减至最少 我想知道是否有一个简单的方法。使用git show HEAD ^1。您可以用提交散列替换头 编辑以考虑多个父项: 如果您想查看提交哈希的所有父级,可以使用git rev list--parents-n1或使用@Bhaska

git 1.7.1

git show:
根据提供的提交散列提供文件

我正在试图弄清楚如何在我拥有的哈希值之前打赌上一次提交的文件

我知道我总是可以使用
日志
来获取所有哈希值,并找出我需要的哈希值,但在我的情况下,这不是一个好的解决方案,因为我正试图将性能问题所需的命令数量减至最少


我想知道是否有一个简单的方法。

使用
git show HEAD ^1
。您可以用提交散列替换

编辑以考虑多个父项: 如果您想查看提交哈希的所有父级,可以使用
git rev list--parents-n1
或使用@Bhaskar在问题注释中建议的
git show


除了解释,还有其他方法

您是在回顾历史,从提交到(其一个)父级,还是从提交到(其一个)子级?前者是琐碎的(使用
^
~
符号),后者是困难的(请参阅)。我正在尝试倒退。
git show--format=“%P”
显示给定
SHA
的所有家长。在git 1.8.5.2上测试了它。答案如下:您的标题没有指定这是特定文件的提交。我需要最后一次提交,只需要散列。我不懂。请您重新措辞。如果
HEAD
有多个父项,此命令将只显示其中的第一个。@Jubobs如果HEAD有多个父项,则OP试图做的事情本质上是不明确的,在这种情况下可能没有一个好的答案。使用
git show^1:
将显示第一个父级中存在的文件,并且将是大多数情况下需要的…@twalberg True。我的评论只是评论,不是批评。