Git 查找所有分支的头提交

Nel*_*Dav 4 git git-branch

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

如果我有以下存储库:

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

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

master b562239
seccondBranch 3828834
firstBranch 3f6fdf6
Run Code Online (Sandbox Code Playgroud)

Rom*_*eri 6

参考的管道工具是git for-each-ref

git for-each-ref --format='%(refname:short) %(objectname:short)' refs/heads
Run Code Online (Sandbox Code Playgroud)

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


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

分支的示例输出-v

development    f06f99b5c4 [behind 1] <commit message of commit f06f99b5c4>
Run Code Online (Sandbox Code Playgroud)

分支的示例输出-vv

development    f06f99b5c4 [origin/development: behind 1] <commit message of commit f06f99b5c4>
Run Code Online (Sandbox Code Playgroud)