如何获取最后一次推送到分支的修订散列?
How to get the revision hash of the last push to a branch?
- 我正在寻找 运行 的分步命令。
- 假设所需的分支可能还不存在于我的本地存储库中,并且我的工作区可能指向另一个分支,我应该 运行 设置哪些命令,以便我只获得所需的最低限度数据。我是否应该先尝试获取日志信息,以便获取对应于分支的修订?
或者我应该 git 获取该分支然后获取对应于该分支的修订版?
(假设您的遥控器名为 "origin",您的分支名为 "master")
首先,您要确保本地存储库中的分支与远程等效分支是最新的:
git fetch origin master
然后您可以获得最新的提交哈希:
git log -1 --format="%H" origin/master
相关:
git ls-remote origin master
将为您提供遥控器上与 "master" 匹配的每个引用,ls-remote
的级别低于引用命名约定。分支引用名称是以 refs/heads/
.
开头的名称
您可以直接列出任何存储库的引用,尝试
git ls-remote git://git.kernel.org/pub/scm/git/git.git refs/heads/master
或者不使用引用名模式,例如。
这也适用于当前的 repo,尝试
git ls-remote .
在明显的地方。
- 我正在寻找 运行 的分步命令。
- 假设所需的分支可能还不存在于我的本地存储库中,并且我的工作区可能指向另一个分支,我应该 运行 设置哪些命令,以便我只获得所需的最低限度数据。我是否应该先尝试获取日志信息,以便获取对应于分支的修订?
或者我应该 git 获取该分支然后获取对应于该分支的修订版?
(假设您的遥控器名为 "origin",您的分支名为 "master")
首先,您要确保本地存储库中的分支与远程等效分支是最新的:
git fetch origin master
然后您可以获得最新的提交哈希:
git log -1 --format="%H" origin/master
相关:
git ls-remote origin master
将为您提供遥控器上与 "master" 匹配的每个引用,ls-remote
的级别低于引用命名约定。分支引用名称是以 refs/heads/
.
您可以直接列出任何存储库的引用,尝试
git ls-remote git://git.kernel.org/pub/scm/git/git.git refs/heads/master
或者不使用引用名模式,例如。
这也适用于当前的 repo,尝试
git ls-remote .
在明显的地方。