【问题标题】:Tracking work hours through git [closed]通过 git 跟踪工作时间 [关闭]
【发布时间】:2013-08-18 05:58:29
【问题描述】:

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

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

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

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

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

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

谢谢!

【问题讨论】:

  • 您是否尝试过仅使用git log 的手动方法?
  • git 时间跟踪器不起作用,因为我必须从一开始就使用它。我已经完成了。
  • 我现在正在尝试使用 git log 的手动方法,但到目前为止我不太信任我的实现。
  • 有谁知道-0700是什么意思?这是直接从我的 git 日志中复制的。日期:2013 年 8 月 15 日星期四 14:43:19 -0700

标签: git bash tracking


【解决方案1】:

您可以将Assembla Space 与(至少)Git 存储库(Assembla 的或 Github 的或 Bitbucket 的)和 Time Tool(以及特殊格式的 Git 提交消息)一起使用,并获得 按自定义时间段集成时间-来自时间选项卡的报告。

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

【讨论】:

    【解决方案2】:

    我已经创建了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-csv-timesheet(感谢@Kimmo)。如果您无法让 git-hours 工作、想要 csv 输出或需要跟踪多个存储库,您可以尝试这样做
    【解决方案3】:
    npm install git-hours -g
    

    然后,运行:

    cd /to/your/local/repository
    
    git hours ; # total of all time
    git hours --since yesterday # since yesterday
    

    【讨论】:

      【解决方案4】:

      试试https://gitential.com

      在估计编码所花费的时间之前,Gitential 会对作者进行重复数据删除并过滤被视为异常值的代码更改,以减少 git 数据的噪音。

      【讨论】:

        【解决方案5】:

        还有一个小的 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_extractora blog-post about getting time estimates using git-pandas

        【讨论】:

        • 安装速度比git-hours 快得多。就我而言,git-hours 根本无法安装。
        • 更简单的安装方法:pip install coded4
        【解决方案6】:

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

        安装

        npm install -g git-time

        用法

        git-time <path>

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

        【讨论】:

          【解决方案7】:

          由于我无法构建 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 ".")
          

          【讨论】:

            猜你喜欢
            • 2011-05-07
            • 1970-01-01
            • 1970-01-01
            • 2015-02-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多