是否有可能通过其头部提交获取 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)
参考的管道工具是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)