我可以在没有本地副本的情况下在远程存储库上发出 git rev-parse 吗?

e27*_*314 5 git bitbucket git-pull

我的本地 git 存储库位于加密卷内。我希望git pull --all只有在远程有新提交时才能运行。但是,我无法像这里一样使用 post-receive hook由于我没有加密卷的密码,因此。这意味着即使钩子会被触发,我仍然不知道安装卷和拉取新更改的密码。所以我正在寻找其他一些替代方案,我想到的一种可能方法是向遥控器询问最新版本的 SHA 并将其与本地副本知道的最新版本 SHA 进行比较,如果它们匹配,我不需要运行 pull 命令,如果它们不匹配,那么我需要运行 git pull 命令。

有没有办法可以git rev-parse master在远程存储库上运行?

您可以在此处获得有关我的问题的更多背景信息

tor*_*rek 3

你不能从字面上做到这一点。

有两个简单的近似:

  • 如果您可以在远程设备上使用 ssh(或其他一些访问器),您git rev-parse甚至可以git rev-list在远程设备上运行,这将获得您想要的任意数量的 SHA-1。
  • 您可以使用从远程git ls-remote获取头部refs/heads/masterSHA-1(包括)。假设您在本地拥有头 SHA-1,所有这些都会告诉您“相同”或“不同”。如果它们不同,您无法准确说出原因(尽管如果您走当地转速,您可能会得到足够的结果)。

不过,这个问题有些奇怪:您说本地存储库位于您没有密码的加密卷中。如果是这样,你怎么知道当地的首领是什么,和/或他们的历史?它们记录在存储库中。