git 中的 `--loc=surv` 是什么?
What is `--loc=surv` in git?
什么是--loc=surv
?我在任何地方都找不到它的任何定义。
为了在 git 存储库中获取贡献统计信息,我在 GitHub 上找到了 git-fame by casperdcl。它提供了每个贡献者的贡献图表。
我不认为 git 中插入和删除的总和是一个很好的比例。但是 git-fame 提供了另一个选项,称为“幸存的代码行”(--loc=surv
)。但我不明白它是什么。
我应该什么时候使用它?计算贡献度是否更好?
首先,它不是“在git”。这是添加到 casperdcl/git-fame
in its release v1.14.0 Q4 2020, and commit 2d34d84.
的功能
任何名为 git-xxx
(在 $PATH
中)的可执行文件都可以用 git xxx
调用,给人一种错觉 xxx
是一个 Git 命令。不是。
其次,如图issue 59,是默认选项。
I didn't expect any differences between git-fame
and git-fame --loc=surviving
- and there are none.
第三,它确实测量提交之间仍然存在的行(尚未添加或删除),这允许:
- 关联选项,例如
--ignore-rev
或 --ignore-revs-file=<f>
(仅对幸存行有效),
- 排除像
--cost
这样的选项(person-months (COCOMO) 或 person-hours 中的时间成本(基于提交时间),它仅基于增量(行 added/removed)
--loc=surv
表示“Surviving Lines of Code”,表示当前存在的代码,不包括删除(del
)或过去的插入(ins
)。
git-fame
, casperdcl on this issue 的开发者回答了以下问题:
Does it just count the last revision on that line?
--loc=surv
确实算作“该行的最后一次修订”。还包含 -M
和 -C
选项可能会有用。
looking for the best way to measure how much I have to pay my devs.
这里是龙... --cost
选项可以根据 https://github.com/casperdcl/git-fame#faqs 使用不同的模型来猜测小时和月份 - 但请注意:
- 无法区分重构(可能价值较高)和重新格式化(可能价值较低)
- 生成的代码(例如
package-lock.json
)可能更适合通过提交次数来衡量,而功能代码(例如train.py
)可能更适合通过行数来衡量
- 删除
--loc=del
(删除错误代码)和过去的插入 --loc=ins
(不再存在但影响当前代码背后思想的行)也可能有用
- 一行代码可能比 100 行代码更有价值。质量只能由人来衡量
- 审查其他人的代码可能很有价值,但不会出现在 Git 历史记录中
- ...警告列表还在继续
我最多使用 git fame
作为帮助衡量贡献真实价值的众多方法之一。一种可能的策略是,如果您觉得自己无法审阅工作,请让人们审阅彼此的工作。我不建议仅根据 number/rate of commits/lines.
来付钱给人们
什么是--loc=surv
?我在任何地方都找不到它的任何定义。
为了在 git 存储库中获取贡献统计信息,我在 GitHub 上找到了 git-fame by casperdcl。它提供了每个贡献者的贡献图表。
我不认为 git 中插入和删除的总和是一个很好的比例。但是 git-fame 提供了另一个选项,称为“幸存的代码行”(--loc=surv
)。但我不明白它是什么。
我应该什么时候使用它?计算贡献度是否更好?
首先,它不是“在git”。这是添加到 casperdcl/git-fame
in its release v1.14.0 Q4 2020, and commit 2d34d84.
任何名为 git-xxx
(在 $PATH
中)的可执行文件都可以用 git xxx
调用,给人一种错觉 xxx
是一个 Git 命令。不是。
其次,如图issue 59,是默认选项。
I didn't expect any differences between
git-fame
andgit-fame --loc=surviving
- and there are none.
第三,它确实测量提交之间仍然存在的行(尚未添加或删除),这允许:
- 关联选项,例如
--ignore-rev
或--ignore-revs-file=<f>
(仅对幸存行有效), - 排除像
--cost
这样的选项(person-months (COCOMO) 或 person-hours 中的时间成本(基于提交时间),它仅基于增量(行 added/removed)
--loc=surv
表示“Surviving Lines of Code”,表示当前存在的代码,不包括删除(del
)或过去的插入(ins
)。
git-fame
, casperdcl on this issue 的开发者回答了以下问题:
Does it just count the last revision on that line?
--loc=surv
确实算作“该行的最后一次修订”。还包含 -M
和 -C
选项可能会有用。
looking for the best way to measure how much I have to pay my devs.
这里是龙... --cost
选项可以根据 https://github.com/casperdcl/git-fame#faqs 使用不同的模型来猜测小时和月份 - 但请注意:
- 无法区分重构(可能价值较高)和重新格式化(可能价值较低)
- 生成的代码(例如
package-lock.json
)可能更适合通过提交次数来衡量,而功能代码(例如train.py
)可能更适合通过行数来衡量 - 删除
--loc=del
(删除错误代码)和过去的插入--loc=ins
(不再存在但影响当前代码背后思想的行)也可能有用 - 一行代码可能比 100 行代码更有价值。质量只能由人来衡量
- 审查其他人的代码可能很有价值,但不会出现在 Git 历史记录中
- ...警告列表还在继续
我最多使用 git fame
作为帮助衡量贡献真实价值的众多方法之一。一种可能的策略是,如果您觉得自己无法审阅工作,请让人们审阅彼此的工作。我不建议仅根据 number/rate of commits/lines.