如何获取 git 存储库中创建的分支总数?

问题描述 投票:0回答:4

我正在开发一个大型 git 存储库,并试图获取一些指标。其中一项指标是曾经创建和使用的分支数量。

从这篇文章:获取git中的远程分支总数,可以得到当前分支的数量。

但是如何获取存储库中曾经创建的分支数量(包括已删除的分支)?

git
4个回答
3
投票

作为一个可能的替代指标,您可以找出有多少提交是一个提交的“额外”子项,它们有单亲,这些是现有根的新分支。算上这些和根源,你就得到了历史上实际的分支总数。这不会告诉您任何从未贡献过任何提交的分支。

( git rev-list --all --children; echo; git rev-list --all --parents --no-merges ) \
| awk ' !doneloading && NF>2 { i=2; while(++i<=NF) branchchild[$i]=1 }
        /^$/ { doneloading=1 }
        doneloading && (NF==1 || $1 in branchchild) { print $1 }
' | wc

1
投票

我在这里很晚了,但给出答案,因为它可能会帮助其他人。

您可以打印远程分支的总数。

git branch -r | wc -l

gitbranch-r命令用于远程分支,

wc -l
将打印分支总数。

注意:它会给你现有的分支,如果你永久删除了,那么你无法通过执行上述命令来获取它们。

快乐编码和学习


0
投票

因为仓库中没有真正删除任何内容

不完全是。

git reflog
(默认为 90 天)或
git fsck
命令可以帮助您列出旧提交,但您仍然需要记住分支名称才能恢复它(如此处)。

这假设可以直接访问这 100 名贡献者正在推送的公共存储库。

如果远程存储库由存储库托管服务(例如 GitHub)管理,您将使用事件 API 来找回已删除分支的跟踪。

在这两种情况下,一旦删除了分支,就不容易找到它了,对于all过去已删除的分支来说,这会更加棘手。


0
投票

git 分支-r |厕所-l

git分支-r 命令用于远程分支

git 分支 wc -l 将打印分支总数。

© www.soinside.com 2019 - 2024. All rights reserved.