Git Time Metric
Seamless time tracking for all your Git projects
$ gtm report -last-month
 
GTM is automatic, seamless and lightweight.  There is no need to remember to start and stop timers.  It runs on occasion to capture activity triggered by your editor.  The time metrics are stored locally with the git repository as Git notes and can be pushed to the remote repository.
Plugins
Simply install a plugin for your favorite editor and the GTM command line utility to start tracking your time now.

Getting Started
Install the latest GTM release
Mac OS X
The simplest way to install is to use Homebrew
brew tap git-time-metric/gtm
brew install gtm
Windows
- Download and run the Windows installer from here
 
Manually install for Linux, OSX or Windows
- Download and install the executable from here
 
Install a plugin for your editor
Initialize a project for time tracking
$ cd /my/project/dir
$ gtm init
Git Time Metric initialized for /my/project/dir
     post-commit: gtm commit --yes
  alias.fetchgtm: fetch origin refs/notes/gtm-data:refs/notes/gtm-data
   alias.pushgtm: push origin refs/notes/gtm-data
notes.rewriteref: refs/notes/gtm-data
        terminal: true
      .gitignore: /.gtm/
            tags: tag1, tag2 
Edit some files in your project
Check your progress with gtm status.
$ gtm status
       20m 40s  53% [m] plugin/gtm.vim
       18m  5s  46% [r] Terminal
           15s   1% [m] .gitignore
       39m  0s          gtm-vim-plugin  
Commit your work
When you are ready, commit your work like you usually do.  GTM will automatically save the time spent associated with your commit. To check the time of the last commit type gtm report.
$ gtm report
7129f00 Remove post processing of status
Fri Sep 09 20:45:03 2016 -0500 gtm-vim-plugin Michael Schenk
       20m 40s  53% [m] plugin/gtm.vim
       18m  5s  46% [r] Terminal
           15s   1% [m] .gitignore
       39m  0s          gtm-vim-plugin  
Optionally save time in the remote Git repository
GTM provides git aliases to make this easy.  It defaults to origin for the remote repository.
Time data can be saved to the remote repository by pushing.
$ git pushgtm 
Time data can be retrieved from the remote repository by fetching.
$ git fetchgtm 
Getting Help
For help from the command line type gtm --help and gtm <subcommand> --help.
For additional help please consult the Wiki.
Contributing
 
 
 
 
If you find a bug or have an idea for a new feature please feel free to file new issues and submits PRs.  In particular if there isn't a plugin for your favorite editor, go ahead and create one!
For more detail on how to write plugins, check out the Wiki.
Support
To report a bug, please submit an issue on the GitHub Page
Consult the Wiki for more information.