11

我最近完成了一个项目,该项目涉及我一次坐在可变时间工作。

例如,我可能从早上 8 点开始,一直到下午 2:30。我会一开始就提交,并在我离开之前提交。

我想估算一下我在这个项目上工作了多少小时。

我曾计划查看我的提交并手动解决这个问题,但 git web 界面只给出了一个模糊的时间戳,例如“2 个月前创作”。

有人知道任何通过 git 计算小时数的第三方应用程序吗?

或者希望提供有关下一步尝试的任何指示?

谢谢!

4

7 回答 7

10

如您所述,我创建了git-hours工具来估计在 git 存储库上花费的时间。

计算小时数的算法非常简单和愚蠢。请参阅文档以了解其工作原理:https ://github.com/kimmobrunfeldt/git-hours#how-it-works

例如,估计在 Bootstrap 上花费的时间:

➜  bootstrap git:(master) git hours
{

  ...

  "total": {
    "hours": 9959,
    "commits": 11470
  }
}

请注意,该信息不够准确,无法用于计费。它粗略地了解了项目的规模。

于 2015-07-24T11:17:27.363 回答
8

git-hours 对我不起作用。所以我构建了一个名为git-time的简单 npm 脚本。

安装

npm install -g git-time

用法

git-time <path>

哪里<path>应该是有效的 Git 存储库根路径。

于 2019-02-11T04:42:39.993 回答
4
npm install git-hours -g

然后,运行:

cd /to/your/local/repository

git hours ; # total of all time
git hours --since yesterday # since yesterday
于 2017-01-18T12:49:20.157 回答
3

由于我无法构建 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 ".")
于 2019-12-28T20:41:23.537 回答
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一篇关于使用 git-pandas 获取时间估计的博客文章

于 2018-01-08T20:36:29.177 回答
2

Try https://gitential.com

Before estimating time spent with coding, Gitential deduplicates authors and filters code changes considered as outliers to reduce the noise of git data.

于 2017-10-16T15:59:21.190 回答
0

您可以将Assembla Space 与(至少)Git 存储库(Assembla 或 Github 或 Bitbucket)和 Time Tool(以及特殊格式的 Git 提交消息)一起使用,并通过Time Tab 中的自定义时间段时间报告进行集成。

无论如何,每次提交的时间跟踪是您自己的任务 - 没有人知道,您在两次连续提交之间真正工作了多少

于 2013-08-16T08:41:16.667 回答