git中分支上的提交数
我正在写一个小脚本,想知道自当前分支创建以来,我对它进行了多少次提交 在本例中,我在git中分支上的提交数,git,version-control,Git,Version Control,我正在写一个小脚本,想知道自当前分支创建以来,我对它进行了多少次提交 在本例中,我在子项上进行了2次提交: git checkout master git checkout -b child ... git commit -a ... git commit -a 所以我想要的是 commit_number = ... echo $commit_number 假设您从master分支,master..yourbranch提供了在yourbranch中但不在master中的提交范围 然后,您只需
子项上进行了2次提交:
git checkout master
git checkout -b child
...
git commit -a
...
git commit -a
所以我想要的是
commit_number = ...
echo $commit_number
假设您从master分支,master..yourbranch
提供了在yourbranch
中但不在master中的提交范围
然后,您只需将它们分别列出一行,并计算行数:
git log master..yourbranch --pretty=oneline | wc -l
更新:git版本列表现在有--count
:
git rev-list --count master..
对于较旧的git版本:
git rev-list master.. |wc -l
版本列表列出了版本,master..
指的是提交,因为当前HEAD
与masterGit可以为您提供提交的数量,而无需进一步编写shell脚本
git rev-list master.. --count
(在git帮助-a中列出)用于处理修订
由于master..
将列出从master和当前分支的基础到当前分支的提交,--count
将给出它们的计数
如果您希望在两个修订版之间获得提交的数量,您可以使用master…
。详细说明:从主人到主人最近的共同祖先和当前分支(负责人),再到当前分支。如果将提交历史可视化为一棵树,则应该能够遵循来自共同祖先的两个分支<另一方面,代码>主..
将只计算两个分支中的一个
因此,您是想使用master..
还是master…
,取决于您是想知道自拆分分支以来在分支中进行了多少次提交(master..
),还是想知道当前主分支和分支之间的差异,自分支被拆分以来,主分支和分支中的提交数。如果要查看您或其他人从当前头开始所做的提交数,可以执行以下操作:
git shortlog -sn
示例输出:
490 Donald Duck
312 Some Developer
274 John Doe
144 Jane Doe
5 Leet Hacker
以下命令将统计分支提交的总数,忽略合并提交
git版本列表--计数--无合并主控..
rev list
选项用于处理修订列表。
选项--count
将只返回一个数字,而--no merges
在两个或多个用户一起工作时忽略合并,并且在提交之前不更新本地副本
请访问以下链接以查看带有说明的图片
REF:
从您的问题中复制出的可能的副本ZOTANTOTH回答返回库创建以来提交的数量,而不是自创建分支以来。请考虑我的答案(假设更好):这是一个比接受的答案更好的解决方案。虽然我会把选项放在提交之前:git rev list--count master..
更好的答案,因为它也涵盖了非*nix平台。对于有兴趣了解双点和三点之间详细区别的人,请看这里。非常好的说明。我必须使用这个来与git rev list
的版本兼容,这些版本已经足够旧了,没有--count
switch@ChuckWilbur谢谢你的评论,我在答案中添加了--count