我最近完成了一个项目,该项目涉及我一次坐在可变时间工作。
例如,我可能从早上 8 点开始,一直到下午 2:30。我会一开始就提交,并在我离开之前提交。
我想估算一下我在这个项目上工作了多少小时。
我曾计划查看我的提交并手动解决这个问题,但 git web 界面只给出了一个模糊的时间戳,例如“2 个月前创作”。
有人知道任何通过 git 计算小时数的第三方应用程序吗?
或者希望提供有关下一步尝试的任何指示?
谢谢!
如您所述,我创建了git-hours工具来估计在 git 存储库上花费的时间。
计算小时数的算法非常简单和愚蠢。请参阅文档以了解其工作原理:https ://github.com/kimmobrunfeldt/git-hours#how-it-works
例如,估计在 Bootstrap 上花费的时间:
➜ bootstrap git:(master) git hours
{
...
"total": {
"hours": 9959,
"commits": 11470
}
}
请注意,该信息不够准确,无法用于计费。它粗略地了解了项目的规模。
git-hours 对我不起作用。所以我构建了一个名为git-time的简单 npm 脚本。
安装
npm install -g git-time
用法
git-time <path>
哪里<path>
应该是有效的 Git 存储库根路径。
npm install git-hours -g
然后,运行:
cd /to/your/local/repository
git hours ; # total of all time
git hours --since yesterday # since yesterday
由于我无法构建 git-hours,我制作了一个工具来估计每个开发人员在存储库上所做的工作,遵循类似的简单算法:它仍然假设会话的第一次提交的持续时间是平坦的。
你可以在这里得到它:git-estimate
代码是用普通的 go 编写的,并使用go-git来读取 repo 的提交。
至少运行:
git-estimate -repo=/path/to/repo
这将使用默认设置来计算在指定路径的 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 ".")
还有一个小的 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
Before estimating time spent with coding, Gitential deduplicates authors and filters code changes considered as outliers to reduce the noise of git data.
您可以将Assembla Space 与(至少)Git 存储库(Assembla 或 Github 或 Bitbucket)和 Time Tool(以及特殊格式的 Git 提交消息)一起使用,并通过Time Tab 中的自定义时间段时间报告进行集成。
无论如何,每次提交的时间跟踪是您自己的任务 - 没有人知道,您在两次连续提交之间真正工作了多少