我将改用 git rev-parse ,但我很好奇为什么以下命令给我的提交 ID 与我预期的不同。
我想在我正在编写的一些脚本中从 HEAD 中提取 sha1。为此,我正在玩 show-ref 和 rev-parse 。令我好奇的是,在 HEAD 上使用 show-ref 显示的 sha1 与 HEAD 上的实际情况完全不同。使用 git rev-parse 没有这个问题。考虑以下:
> git show-ref --hash -- HEAD
40f3fb3d84b7c9857cadb581b901e3cc20ed1f24
> git rev-parse HEAD
a54b2714e6052ba063ea45924610e2cf0b6e5750
似乎上述两个语句应该返回相同的提交 ID。为什么有区别?