计算git分支与master的不同程度



我想通知/警告项目的开发人员,如果他们正在处理一个与当前主分支有很大差异的git分支。

计算分支尖端与主分支尖端的差异的最简单方法是什么?

我考虑检查两个分支自上次分叉以来的提交数量,如果这个数量大于某个阈值(例如10次提交(,则通知开发人员。如果作为提交挂钩运行,此命令是否可以用于此目的?

git log --oneline master...test/countcommitdifference | wc -l
>      3

(我的团队使用git、SourceTree和BitBucket。(

这是可行的,但对于脚本编写,建议使用git rev-list

git rev-list master...your_branch | wc -l

或者正如@jthill在评论中提到的那样,简称git rev-list --count master...your_branch

(这将为您提供master上的提交数量加上您的_branch上的提交次数(。

另一种选择可能是使用git diff --shortstat,它显示更改的文件、插入和删除的行数。第一个数字总是更改文件的数量:

git diff --short-stat master your_branch | awk '{print $1}'

最新更新