Git查找所有分支的最新提交记录

4

有没有可能获取到一个git仓库的所有分支以及它们的最新提交。

如果我有以下的仓库:

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

我想要获得这样的列表:
master b562239
seccondBranch 3828834
firstBranch 3f6fdf6
1个回答

6

用于引用的“管道工具”是 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>

非常感谢,它运行良好。我以前不知道 for-each-ref - NelDav
@Ahrtaler 是的,它比其瓷器对应项 git branch 使用较少。 - Romain Valeri
1
值得注意的是,它只会列出本地分支。如果您要列出远程分支,将 refs/heads 替换为 refs/remotes - Piotr Siupa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接