2015-03-08 155 views
-4

我需要仅使用.git文件夹打印最新的提交哈希。 可以做到吗?从.git文件夹提取提交ID

+2

你究竟想达到什么目的?为什么你需要使用'.git'文件夹?为什么不只是'git log HEAD |头-1'? – Mureinik 2015-03-08 17:35:54

+0

,因为我不确定nodejs应用程序托管的平台(即将做到这一点),并可以说windows没有'head' – 2015-03-08 17:40:09

+0

如果目标系统没有'.git/HEAD',它可能也没有从'.git'获取SHA-1所需的其他东西。也就是说,'HEAD'提交ID要么在'.git/HEAD'中,要么在'.git/HEAD'指向的引用下。反过来,需要在'.git/refs/heads /'中定位一个文件,或者如果该文件不存在,则读取'.git/packed-refs'。 – torek 2015-03-08 18:39:40

回答

0

这取决于您想要引用的分支,但在.git/refs/remotes/<origin>文件夹中,您可以找到所有分支以及它们每个指向的当前SHA。请注意,如果您很久没有获取远程分支机构,这将会过期。

+0

谢谢,我现在就试试 – 2015-03-08 17:35:56