我已经找到了这个答案:在git的分支上提交的数量 但这假设分支是从master创建的。
我如何在不依赖于这个假设的情况下计算沿着分支提交的数量呢?
在SVN中,这是微不足道的,但由于某种原因,在git中很难解决。
我已经找到了这个答案:在git的分支上提交的数量 但这假设分支是从master创建的。
我如何在不依赖于这个假设的情况下计算沿着分支提交的数量呢?
在SVN中,这是微不足道的,但由于某种原因,在git中很难解决。
当前回答
如果您使用的是UNIX系统,则可以这样做
git log|grep "Author"|wc -l
其他回答
你也可以 Git log | grep commit | wc -l
然后得到结果
git log——pretty=oneline | wc -l怎么样
这将从当前分支的角度计算所有提交。
一种方法是列出分支的日志并计算行数。
git log <branch_name> --oneline | wc -l
因为OP引用了git中分支上的提交数量,我想补充的是,这里给出的答案也适用于任何其他分支,至少从git 2.17.1版本开始(似乎比Peter van der Does的答案更可靠):
正常工作:
git checkout current-development-branch
git rev-list --no-merges --count master..
62
git checkout -b testbranch_2
git rev-list --no-merges --count current-development-branch..
0
最后一个命令像预期的那样给出零提交,因为我刚刚创建了分支。前面的命令给出了开发分支上的实际提交数减去合并提交数
工作不正常:
git checkout current-development-branch
git rev-list --no-merges --count HEAD
361
git checkout -b testbranch_1
git rev-list --no-merges --count HEAD
361
在这两种情况下,我都得到了开发分支和master中所有提交的数量。
它可能需要一个相对较新的Git版本,但这对我来说很好:
git rev-list --count develop..HEAD
这为我提供了当前分支中以master为基础的提交的确切计数。
Peter回答中的命令,git rev-list——count HEAD ^develop包含了更多的提交,在我当前的项目中是678 vs 97。
在这个分支上,我的提交历史是线性的,所以是YMMV,但它给了我想要的确切答案,即“到目前为止,我在这个特性分支上添加了多少次提交?”