如何获得git仓库中创建的分支总数?

ohtdti5x  于 2022-12-10  发布在  Git
关注(0)|答案(3)|浏览(713)

我正在一个大型的git仓库上工作,并试图获得一些指标。其中一个指标是曾经创建和使用的分支的数量。
从这篇文章:Get total remote branches in git,可以得到 * 当前 * 分支的数目。
但是如何获得一个仓库中曾经创建的分支的数量,包括被删除的分支?

zd287kbt

zd287kbt1#

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

( 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
bqucvtff

bqucvtff2#

因为在回购协议中没有任何东西被真正删除
git reflog(默认为90天)或git fsck命令可以帮助你列出旧的提交,但是你仍然需要记住分支的名字才能恢复它(as in here)。
这需要直接访问100个贡献者推送到的公共存储库。
如果远程仓库是由仓库托管服务管理的,比如GitHub,你可以使用use the Events API来找回被删除的分支。
在这两种情况下,一旦一个分支被删除,就不容易再找到它,而对于 all past deleted branch来说,这将更加棘手。

lb3vh1jj

lb3vh1jj3#

我在这里已经很晚了,但是给你一个答案,因为它可能会帮助别人。
您可以打印远程分支机构的总数。

git branch -r | wc -l

git分支-r命令用于远程分支,wc -l将打印分支总数。
注意:它会给予你现有的分支,如果你永久删除,那么你不能得到他们通过执行上述命令。
快乐编程和学习

相关问题