我的本地 git 存储库位于加密卷内。我希望能够跑步git pull --all
仅当远程有新提交时。但是,我无法使用像这样的接收后钩子here因为我没有加密卷的密码。这意味着即使钩子被触发,我仍然不知道安装卷和提取新更改的密码。所以我正在寻找其他一些替代方案,我想到的一种可能的方法是向远程询问最新版本的 SHA 并将其与本地副本知道的最新版本 SHA 进行比较,如果它们匹配我不需要运行 pull 命令,如果它们不匹配,那么我需要运行 git pull 命令。
有什么方法可以让我跑步git rev-parse master
在远程存储库上?
您可以获得有关我的问题的更多背景信息here
你不能从字面上做到这一点。
有两个简单的近似方法:
- 如果您可以在远程使用 ssh (或其他一些访问器),您可以运行
git rev-parse
乃至git rev-list
在那里,你可以得到任意数量的 SHA-1。
- 您可以使用
git ls-remote
得到head来自远程的 SHA-1(包括refs/heads/master
)。假设您本地有头 SHA-1,所有这些都会告诉您“相同”或“不同”。如果它们不同,你就无法准确分辨why(尽管如果您按照当地的转速行驶,您可能会得到足够的结果)。
不过,这个问题有些奇怪:你说local存储库位于您没有密码的加密卷中。如果是这样,你怎么知道当地的heads是,和/或他们的历史?它们记录在存储库中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)