Git: 查找在远程签出的提交

Git: Find which commit is checked out on a remote

我有一个本地仓库,这个仓库有一个远程仓库。我想知道哪个提交(通过 SHA 编号)在远程 上检出 ,假设远程不是裸存储库。

澄清:我不希望与本地存储库中的跟踪分支或任何其他类型的分支有任何关系。事实上,我想要一种即使我的本地存储库是裸存储库也能工作的方法。假设我的遥控器是 ssh://whatever/foo,所以我想通过 SSH 连接到服务器 whatever,执行 cd /foogit rev-parse HEAD

我不想直接做上面的例子,因为我不能保证我可以通过 SSH 访问远程。我想要一种无论远程类型如何都有效的方法

我希望响应是 SHA,而不是分支名称

git ls-remote origin HEAD

(任何 repo 参考都适用于 origin,您可以使用 url 或路径)