对于我的研究,我需要很少的数据,其中之一是前一次提交的 SHA 编号,即如果我提供特定的提交编号/SHA 编号,我应该能够获得它之前的 SHA 编号。
帮我用 git 命令来获得相同的结果。
最佳答案
将任何说明符翻译为哈希 ID 的命令是 git rev-parse
。
表示“查找提交的父提交”的语法来自 gitrevisions ,并且是 <em>commit</em>^
或 <em>commit</em>~
— 使用您喜欢输入的任何一个。 commit
部分几乎可以是任何有效的提交说明符,包括分支名称、另一个提交哈希 ID、特殊名称 HEAD
或这些后缀表达式中的另一个。
因此:
HEAD^
是 HEAD
的父级,并且:
HEAD^^
是 HEAD^
的父级,依此类推。
波浪线语法实际上是许多帽子后缀的压缩版本,所以:
HEAD~5
意思是一样的:
HEAD^^^^^
如果缺少波浪号后的数字,Git 会假定您指的是 1
。
所有这些放在一起意味着:
git rev-parse HEAD^
(或 HEAD~
)将为您提供实际的哈希 ID。但是您可以使用任何普通的 Git 命令编写 HEAD^
或 HEAD~
。同样,如果 1234567
是有效的缩短的提交哈希 ID,您可以编写 1234567^
或 1234567~1
来引用其父提交。
(merge 提交有两个或多个父级,在这种情况下,有更多语法可用于一次提取每个父级,或引用所有父级。再次参见 gitrevisions了解详情。)
关于git - 如何获取上一次提交的 SHA 编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42523290/