https://github.com/git-time-metric/gtm
Simple, seamless, lightweight time tracking for Git
https://github.com/git-time-metric/gtm
git gtm metrics time-tracker
Last synced: about 2 months ago
JSON representation
Simple, seamless, lightweight time tracking for Git
- Host: GitHub
- URL: https://github.com/git-time-metric/gtm
- Owner: git-time-metric
- License: mit
- Created: 2016-06-19T21:17:04.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2022-01-31T15:31:34.000Z (over 3 years ago)
- Last Synced: 2024-10-26T18:30:51.569Z (6 months ago)
- Topics: git, gtm, metrics, time-tracker
- Language: Go
- Homepage:
- Size: 3.33 MB
- Stars: 975
- Watchers: 27
- Forks: 52
- Open Issues: 51
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - git-time-metric - Simple, seamless, lightweight time tracking for Git. (Utilities / Utility/Miscellaneous)
- jimsghstars - git-time-metric/gtm - Simple, seamless, lightweight time tracking for Git (Go)
- awesome-go - gtm - Simple, seamless, lightweight time tracking for Git - ★ 616 (Utilities)
- awesome-go-extra - gtm - 06-19T21:17:04Z|2022-01-31T15:31:34Z| (Utilities / Fail injection)
- starred-awesome - gtm - Simple, seamless, lightweight time tracking for Git (Go)
README
Git Time Metric### Seamless time tracking for all your Git projects
##### $ gtm report -last-month
##### $ gtm report -last-month -format summary
##### $ gtm report -last-month -format timeline-hours
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](https://git-scm.com/docs/git-notes) and can be pushed to the remote repository.
###
PluginsSimply 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](http://brew.sh)
```
brew tap git-time-metric/gtm
brew install gtm
```**Windows**
- Download and run the Windows installer from [here](https://github.com/git-time-metric/gtm/releases/latest)
**Linux**
The simplest way to install is to use [Linuxbrew](http://linuxbrew.sh/)
```
brew tap git-time-metric/gtm
brew install gtm
```**Manually install for Linux, OSX or Windows**
- Download and install the executable from [here](https://github.com/git-time-metric/gtm/releases/latest)
### Install a plugin for your editor
- [Sublime 3](https://github.com/git-time-metric/gtm-sublime3-plugin)
- [Atom](https://github.com/git-time-metric/gtm-atom-plugin)
- [Vim](https://github.com/git-time-metric/gtm-vim-plugin)
- [IntelliJ IDEA, PyCharm, WebStorm, AppCode, RubyMine, PhpStorm, AndroidStudio ](https://github.com/git-time-metric/gtm-jetbrains-plugin)
- [VSCode](https://github.com/nexus-uw/vscode-gtm)
- [Visual Studio](https://github.com/jjonescz/gtm-visualstudio-plugin)
- [Terminal](https://github.com/git-time-metric/gtm-terminal-plugin)### Initialize a project for time tracking
$ cd /my/project/dir
$ gtm initGit 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 status20m 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 report7129f00 Remove post processing of status
Fri Sep 09 20:45:03 2016 -0500 gtm-vim-plugin Michael Schenk20m 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](https://git-scm.com/book/en/v2/Git-Basics-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 pushgtmTime 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 --help`.
For additional help please consult the [Wiki](https://github.com/git-time-metric/gtm/wiki).
# Contributing
[](https://travis-ci.org/git-time-metric/gtm) [](https://ci.appveyor.com/project/mschenk42/gtm) [](https://coveralls.io/github/git-time-metric/gtm) [](https://goreportcard.com/report/github.com/git-time-metric/gtm)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](https://github.com/git-time-metric/gtm/wiki/Editor-Plugins).
# Support
To report a bug, please submit an issue on the [GitHub Page](https://github.com/git-time-metric/gtm/issues)
Consult the [Wiki](https://github.com/git-time-metric/gtm/wiki) for more information.