我最近完成了一个项目,让我一次性工作变量。
例如,我可能会在上午8点开始,直到下午2:30。 我会在我开始时立即提交,并在我离开之前提交。
我想估算一下我在这个项目上工作了多少小时。
我曾计划查看我的提交并手动解决这个问题,但git web界面只是提供了一个模糊的时间戳,例如“2个月前创作”。
是否有人知道通过git计算小时数的任何第三方应用程序?
或者希望提供下一步尝试的指示?
谢谢!
答案 0 :(得分:6)
我已经创建了git-hours工具来估算你所描述的在git存储库上花费的时间。
计算小时的算法非常简单而且愚蠢。请参阅文档以了解其工作原理:https://github.com/kimmobrunfeldt/git-hours#how-it-works
例如,估算Bootstrap的小时数:
➜ bootstrap git:(master) git hours
{
...
"total": {
"hours": 9959,
"commits": 11470
}
}
请注意,该信息不够准确,不能用于结算。它大致了解了项目的大小。
答案 1 :(得分:3)
npm install git-hours -g
然后,运行:
cd /to/your/local/repository
git hours ; # total of all time
git hours --since yesterday # since yesterday
答案 2 :(得分:3)
还有一个小的Python脚本:coded4。设置:
git clone git://github.com/Xion/coded4.git
cd coded4
./setup.py develop
使用:
cd /to/your/local/repository
coded4 .
并提供可用选项的粗略概念:
coded4 -h
usage: coded4 [-h] [--repo TYPE] [--format FORMAT] [--since DATE]
[--until DATE] [--cluster-algo ALGO] [--approx-algo ALGO]
[--epsilon MINUTES]
DIRECTORY
还有:git_time_extractor和a blog-post about getting time estimates using git-pandas。
答案 3 :(得分:2)
在估算编码所花费的时间之前,Gitential会对作者进行重复数据删除并过滤被视为异常值的代码更改,以降低git数据的噪音。
答案 4 :(得分:0)
您可以使用Assembla空间(至少)Git存储库(Assembla或Github或Bitbucket)和时间工具(以及特殊格式化的Git提交消息)并按自定义期间集成来自时间选项卡的时间报告。
无论如何,每次提交的时间跟踪是你自己的任务 - 没人知道,你在两次连续提交之间真正工作了多少
答案 5 :(得分:0)
git-hours对我不起作用。所以我建立了一个简单的npm脚本,名为git-time。
安装
npm install -g git-time
用法
git-time <path>
<path>
应该是有效的Git存储库根路径。
答案 6 :(得分:0)
由于我无法建立git-hours,因此我采用了类似的简单算法,制作了一个工具来估算存储库中每个开发人员的工作量:它仍然假定会话首次提交的时间固定。
您可以在这里获取它:https://github.com/apache/spark/blob/v2.4.0/pom.xml
该代码是用纯文本编写的,并使用git-estimate来读取存储库的提交。
至少运行一次:
git-estimate -repo=/path/to/repo
这将使用默认设置来计算在指定路径上回购所花费的时间。
git-estimate -h
-baseline float
baseline value for session estimate (default 2)
-estimate string
estimation method. Accepted values are "session" and "day". (default "session")
-json
if true will output estimates in JSON format
-repo string
git repository path. If no flag is specified the current folder is assumed (default ".")