问题描述
我想通知/警告项目开发人员是否正在使用git分支,该分支与当前的master分支相差很大。
计算分支的尖端与主分支的尖端有何不同的最简单方法是什么?
我正在考虑检查两个分支上次提交以来的提交数量,并通知开发人员该数量是否大于某个阈值(例如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
。
(这将为您提供在主上的提交数加上在your_branch上的提交数)。
另一种选择是使用git diff --shortstat
,它向您显示已更改的文件数,插入和删除的行数。第一个数字始终是已更改文件的数量:
git diff --short-stat master your_branch | awk '{print $1}'