首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Gerrit显示的更改数量与git不同?

问为什么Gerrit显示的更改数量与git不同?
EN

Stack Overflow用户
提问于 2015-04-24 21:32:12
回答 3查看 682关注 0票数 14

这是我最近在Git中提交/更改的结果...

​

​

Gerrit中的...and:

​

​

增删行数不同有什么解释吗?不同的算法?

EN

回答 3

Stack Overflow用户

发布于 2017-07-06 16:09:07

实际的变化是相同的。但不同之处在于GIT和GERRIT如何计算更改后的行数。假设您有4个版本/更改/补丁集在HEAD之上的提交。

commit_patchset#4

commit_patchset#3

commit_patchset#2

commit_patchset#1

头

Git:

为commit#4(A1)更改的行数: commit_patchset#4和commit_patch#3之间的差异

为commit#3(B1)更改的行数: commit_patchset#3和commit_patch#2之间的差异

为commit#2(C1)更改的行数: commit_patchset#2和commit_patch#1之间的差异

为commit#1(D1)更改的行数: commit_patchset#1和HEAD之间的差异

Gerrit:

为commit#4(A2)更改的行数: commit_patchset#4和基本/头之间的差异

为commit#3(B2)更改的行数: commit_patchset#3和基本/头之间的差异

为commit#2(C2)更改的行数: commit_patchset#2和基本/头之间的差异

为commit#1(D2)更改的行数: commit_patchset#1和基本/头之间的差异

因此,更改的行数总是不同的。

您可以使用".."选项要求Gerrit显示补丁集版本之间的确切差异(如GIT所示),而不是显示基础/头部。

例如,

给出了在commit_patchset#4和commit_patchset#3之间更改的确切行数,这应该与GIT计算结果相匹配。

希望能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2015-12-11 22:56:27

如果你已经推了很多次,那么这是因为你的参考版本与变更中的基础提交不同。

票数 0
EN

Stack Overflow用户

发布于 2016-06-13 03:44:45

每个git都会提交指向整个git树快照的指针(这使得签出或区分任何版本都非常快,而且时间相当恒定)。Git不在内部存储补丁,它们是在需要时按需计算的,就像计算提交统计数据一样。

git diff是计算它们的主要命令,它处理几种不同的算法(至少参见--diff-algorithm )。此外,git configuration还可以设置特定的默认比较行为(请参阅diff.dirstat和diff.algorithm配置)。

如果两个工具/机器都使用不同的diff设置来计算diff统计信息,那么最终您可能会得到不同的统计信息。(我不知道是不是这样)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29848877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档