【发布时间】:2016-11-03 16:32:43
【问题描述】:
我有一个本地仓库,而这个仓库有一个遥控器。我想知道在远程上签出了哪个提交(按 SHA 编号),假设远程不是裸存储库。
澄清:我不想在我的本地存储库上跟踪分支或任何其他类型的分支。实际上,即使我的本地存储库是裸存储库,我也想要一种有效的方法。想象一下我的遥控器是ssh://whatever/foo,所以我想通过 SSH 连接到服务器whatever,执行cd /foo 和git rev-parse HEAD。
我不想直接执行上面的示例,因为我不能保证我将拥有远程的 SSH 访问权限。我想要一种不管遥控器类型如何都可以工作的方法
我希望响应是 SHA,而不是分支名称
【问题讨论】:
-
使用 jthill 的答案。附带说明一下,这甚至适用于裸仓库,因为所有仓库都必须有一个
HEAD。 (如果HEAD指的是尚未诞生的分支,您将无法以这种方式看到它,或者根本无法真正看到它,但在这种情况下没有答案。)换句话说,您获得的哈希 ID 与其说是“已签出的提交”,不如说是“当前的提交”,也就是说,它仍然意味着裸存储库中的某些内容。
标签: git git-remote