使用 Git 对所有远程分支进行头提交
我知道如何列出远程分支
$ git branch -a
我知道如何找到当前分支的头提交哈希
$ git rev-parse HEAD
但我不确定如何列出所有远程分支的所有头提交哈希。这很接近我想要的,但是它们的顺序是什么?
$ git rev-parse --remotes
4b9f7128e9e7fa7d72652ba49c90c37d0727123d
4ebab9616fac6896b7827e8502b4dc7c5aac6b5b
ea7a5fab4a757fb0826253acf1fe7d8c546c178e
...
理想情况下,我想要一个分支名称提交哈希对的列表,甚至想要一种将远程分支名称传递给 git rev-parse HEAD 的方法
I know how to list the remote branches
$ git branch -a
And I know how to find the head commit hash of my current branch
$ git rev-parse HEAD
But I'm not sure how to list all the head commit hashes for all the remote branches. This is close to what I want but what order are they in?
$ git rev-parse --remotes
4b9f7128e9e7fa7d72652ba49c90c37d0727123d
4ebab9616fac6896b7827e8502b4dc7c5aac6b5b
ea7a5fab4a757fb0826253acf1fe7d8c546c178e
...
Ideally, I'd like a list of branch-name commit-hash pairs or even a way to pass a remote branch name to git rev-parse HEAD
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用
忽略带有提交消息的部分或
过滤以 refs/remotes 开头的结果。
Use either
and ignore part with commit message or
and filter results starting with refs/remotes.
我知道这是旧的并且已得到解答,但我认为 git ls-remote 也适用于此。
I know this is old and answered, but I think
git ls-remote
would work for this too.您可以使用 git rev-parse 来实现此目的。它可以接受任何看起来像提交的东西,并返回该提交的完整 SHA1 哈希值。
例如,获取
HEAD
的SHA1:获取
master
的SHA1:获取
origin/trunk
的SHA1:获取
master
的SHA1:所有远程头的 SHA1(这只是实现此目的的众多方法之一,当然不是最好的方法):You can use
git rev-parse
for this. It can take anything which looks even remotely like a commit and returns the full SHA1 hash for that commit.For example, to get the SHA1 of
HEAD
:To get the SHA1 of
master
:To get the SHA1 of
origin/trunk
:To get the SHA1s of all remote heads (this is just one of many ways to do this, and certainly not the best one):