Git 自上次更改文件以来的提交计数

Git 自上次更改文件以来的提交计数,git,commit,git-commit,counting,Git,Commit,Git Commit,Counting,我目前正在开发一个自动增加版本号的系统。版本号当前存储在使用主要、次要和修补程序版本的文件中。我想去掉这个补丁,以避免每次都要手动更改版本号。 修补程序将仅仅是自上次更改文件(或版本,如果该版本也适用)以来的提交次数 这可能吗?是的,我们可以列出对特定文件的所有提交git log——遵循文件名,但我不确定计数。是的,我们可以列出对特定文件所做的所有提交git log——follow filename但我不确定计数。这是有效的:git rev list——count$(git log——follo

我目前正在开发一个自动增加版本号的系统。版本号当前存储在使用主要、次要和修补程序版本的文件中。我想去掉这个补丁,以避免每次都要手动更改版本号。 修补程序将仅仅是自上次更改文件(或版本,如果该版本也适用)以来的提交次数


这可能吗?

是的,我们可以列出对特定文件的所有提交git log——遵循文件名,但我不确定计数。

是的,我们可以列出对特定文件所做的所有提交git log——follow filename但我不确定计数。

这是有效的:
git rev list——count$(git log——follow-1——pretty=%H filename)…HEAD
@brainsone:注意,这种方法可以很好地工作,但对于由于合并而导致计数“跳跃”的情况,您必须做好准备。
X..Y
符号表示“可从
Y
访问的提交集减去可从
X
访问的提交集”。通常,在
Y
中向集合添加1个提交会向结果计数添加1,但当您向
Y
添加合并提交时,通常会添加远远多于1的内容。只要您不希望它一次只增加一个,这就可以了。(在合并的“另一端”引入的提交仍然保留,因此计数从此处再次增加。)@torek这就是我想要的。所以它很好用:
git rev list--count$(git log--follow-1--pretty=%H filename)…HEAD
@BrainStone:请注意,这种方法可以很好地工作,但您必须准备好应对由于合并而导致计数“跳跃”的情况。
X..Y
符号表示“可从
Y
访问的提交集减去可从
X
访问的提交集”。通常,在
Y
中向集合添加1个提交会向结果计数添加1,但当您向
Y
添加合并提交时,通常会添加远远多于1的内容。只要您不希望它一次只增加一个,这就可以了。(在合并的“另一端”引入的提交仍然保留,因此计数从此处再次增加。)@torek这就是我想要的。所以很好