代わりに git rev-parse を使用しますが、次のコマンドで予想とは異なるコミット ID が返される理由が気になります。
私が書いているいくつかのスクリプトで、HEAD から sha1 を取得したかったのです。私はこれのために show-ref と rev-parse をいじっていました。興味深いのは、HEAD で show-ref を使用すると、実際の HEAD とはまったく異なる sha1 が表示されることです。git rev-parse を使用すると、この問題は発生しません。次の点を考慮してください。
> git show-ref --hash -- HEAD
40f3fb3d84b7c9857cadb581b901e3cc20ed1f24
> git rev-parse HEAD
a54b2714e6052ba063ea45924610e2cf0b6e5750
上記の 2 つのステートメントは同じコミット ID を返すようです。なぜ違いがあるのですか?