首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Git的所有远程分支的头提交

使用Git的所有远程分支的头提交
EN

Stack Overflow用户
提问于 2010-10-09 02:20:43
回答 3查看 6.3K关注 0票数 8

我知道如何列出远程分支

代码语言:javascript
复制
$ git branch -a

并且我知道如何找到我当前分支的head commit散列

代码语言:javascript
复制
$ git rev-parse HEAD

但我不确定如何列出所有远程分支的所有head commit散列。这和我想要的很接近,但是它们的顺序是什么呢?

代码语言:javascript
复制
$ git rev-parse --remotes
4b9f7128e9e7fa7d72652ba49c90c37d0727123d
4ebab9616fac6896b7827e8502b4dc7c5aac6b5b
ea7a5fab4a757fb0826253acf1fe7d8c546c178e
...

理想情况下,我希望有一个分支名称提交散列对的列表,甚至是一种将远程分支名称传递给git rev-parse HEAD的方法

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-09 02:41:21

使用以下任一选项

代码语言:javascript
复制
git branch -r -v --no-abbrev

并忽略带有提交消息的部分或

代码语言:javascript
复制
git show-ref

并过滤以refs/remotes开头的结果。

票数 11
EN

Stack Overflow用户

发布于 2012-08-13 18:12:03

我知道这是老生常谈,但我认为git ls-remote也适用于这一点。

代码语言:javascript
复制
git ls-remote --heads origin

fcce961b46784fae13be8a30c2622ddd34d970ec        refs/heads/develop
9da7bb692a72235451706f24790a3f7a100a64e2        refs/heads/feature-netty-testing
86020c50d86691caecff4a55d3b1f2f588f6291d        refs/heads/javafx-testing
871d715e5c072b1fbfacecc986f678214fa0b585        refs/heads/master
7ed641c96d910542edeced5fc470d63b8b4734f0        refs/heads/orphan-branch
票数 6
EN

Stack Overflow用户

发布于 2010-10-09 03:00:28

您可以使用git rev-parse来实现这一点。它可以接受任何看起来甚至有点像提交的内容,并返回该提交的完整SHA1散列。

例如,要获取HEAD的SHA1

代码语言:javascript
复制
git rev-parse HEAD

获取master的SHA1

代码语言:javascript
复制
git rev-parse master

获取origin/trunk的SHA1

代码语言:javascript
复制
git rev-parse origin/trunk

获取所有远程主机的SHA1s (这只是众多方法中的一种,当然也不是最好的方法):

代码语言:javascript
复制
 git branch -r | cut -d' ' -f 3 | while read remote; do
   echo ${remote} `git rev-parse ${remote}`
done
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3893231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档