首页 > 解决方案 > git找到所有分支的head commit

问题描述

是否有可能通过他们的头部提交来获取 git 存储库的所有分支。

如果我有以下存储库:

* b562239 (HEAD -> master) lastCommit
* 3828834 (seccondBranch) seccond Commit 
| * 3f6fdf6 (firstBranch) branchCommit
|/  
* b051ccd init repo

我想得到一个这样的列表:

master b562239
seccondBranch 3828834
firstBranch 3f6fdf6

标签: gitgit-branch

解决方案


refs 的管道工具是git for-each-ref

git for-each-ref --format='%(refname:short) %(objectname:short)' refs/heads

以获得您想要的确切输出。


同样值得注意的是,git branch -v(或者-vv更详细一点)将列出所有分支及其提示指向的提交哈希,但以一种非常冗长的方式,因为它还包含有关远程分支关联/最后提交消息的信息。

分支的示例输出-v

development    f06f99b5c4 [behind 1] <commit message of commit f06f99b5c4>

分支的示例输出-vv

development    f06f99b5c4 [origin/development: behind 1] <commit message of commit f06f99b5c4>

推荐阅读