And*_*kov 21 git version-control
我正在写一个小脚本,想知道自创建以来我在当前分支上做了多少次提交.
在这个例子中,我有2个提交child
:
git checkout master
git checkout -b child
...
git commit -a
...
git commit -a
Run Code Online (Sandbox Code Playgroud)
所以我想要的是
commit_number = ...
echo $commit_number
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
Kis*_*aki 50
Git可以在没有进一步shell脚本的情况下为您提供提交数量.
git rev-list master.. --count
Run Code Online (Sandbox Code Playgroud)
rev-list(列于git help -a
)用于处理修订.
作为master..
将列出主的基础和当前分支到当前分支的提交,--count
会给你他们的计数.
如果您希望获得两个修订版之间的提交数量,则可以使用master...
.详细说明:从master到master的最新共同祖先和当前分支(HEAD)之间,再到当前分支.如果将提交历史可视化为树,则应该能够遵循共同祖先的两个分支.master..
另一方面,只计算两个分支中的一个.
因此,无论你想使用master..
或master...
依赖于你是否想知道有多少的提交你做你的分支,因为你把它分解关闭(master..
),或之间的差别目前主站和分公司,大师提交的数目和因为分支分支被拆分了.
Cha*_*esB 16
假设您从master分支,master..yourbranch
为您提供yourbranch
但不在master中的提交范围.
然后你只需要每行列出一行,并计算行数:
git log master..yourbranch --pretty=oneline | wc -l
Run Code Online (Sandbox Code Playgroud)
更新:git rev-list现在有--count
:
git rev-list --count master..
Run Code Online (Sandbox Code Playgroud)
使用较旧的git版本:
git rev-list master.. |wc -l
Run Code Online (Sandbox Code Playgroud)
rev-list列出了修订版,并master..
引用了自当前HEAD
分歧以来的提交master
.
归档时间: |
|
查看次数: |
9947 次 |
最近记录: |