_“You don’t have to know everything. You simply need to know where to find it when necessary.”...">

Awesome git addons Awesome

A curated list of add-ons that extend/enhance the git CLI.

$ git bla
Something awesome happens!

“You don’t have to know everything. You simply need to know where to find it when necessary.” (John Brunner)

Inspired by the awesome list thing.

Note: Certain commands may not function immediately after installation. You may need to run a post-install script or manually configure aliases for them to work correctly.

Table of Contents

git-extras

squash

$ git squash fixed-cursor-styling "Fixed cursor styling"
$ git squash 95b7c52
$ git squash HEAD~3

summary

$ git summary

 project  : git
 repo age : 10 years
 active   : 11868 days
 commits  : 40530
 files    : 2825
 authors  :
 15401  Junio C Hamano                  38.0%
  1844  Jeff King                       4.5%

line-summary

$ git line-summary

 project  : gulp
 lines    : 3900
 authors  :
 1040 Contra                    26.7%
  828 Sindre Sorhus             21.2%

effort

$ git effort

  file                                          commits    active days

  .gitattributes............................... 3          3
  .gitignore................................... 265        226
  .mailmap..................................... 47         40

authors

$ git authors
Contra <[email protected]>
Eric Schoffstall <[email protected]>
Sindre Sorhus <[email protected]>

changelog

$ git changelog
## 3.9.0

- add babel support
- add transpiler fallback support
- add support for some renamed transpilers (livescript, etc)
- add JSCS
- update dependecies (liftoff, interpret)
- documentation tweaks

## 3.8.11

- fix node 0.12/iojs problems
- add node 0.12 and iojs to travis
- update dependencies (liftoff, v8flags)
- documentation tweaks

commits-since

$ git commits-since yesterday
... changes since yesterday
TJ Holowaychuk - Fixed readme

count

$ git count
total 855

create-branch

$ git create-branch development
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/tj/git-extras.git
 * [new branch]      HEAD -> development
Branch development set up to track remote branch development from origin.
Switched to a new branch 'development'

delete-branch

$ git delete-branch integration
Deleted branch integration (was bfb8522).
Deleted remote-tracking branch remote/integration (was bfb8522).
To [email protected]:remote/gulp.git
 - [deleted]         integration

delete-submodule

$ git delete-submodule lib/foo

delete-tag

$ git delete-tag v0.1.1
Deleted tag 'v0.1.1' (was 9fde751)
To https://github.com/tj/git-extras.git
 - [deleted]         v0.1.1

delete-merged-branches

$ git delete-merged-branches
Deleted feature/themes (was c029ab3).
Deleted feature/live_preview (was a81b002).
Deleted feature/dashboard (was 923befa).

fresh-branch

$ git fresh-branch docs
Removing .DS_Store
Removing .editorconfig
Removing .gitignore

guilt

$ git guilt `git log --until="3 weeks ago" --format="%H" -n 1` HEAD
Paul Schreiber                +++++++++++++++++++++++++++++++++++++++++++++(349)
spacewander                   +++++++++++++++++++++++++++++++++++++++++++++(113)
Mark Eissler                  ++++++++++++++++++++++++++

merge-into

``` $ git merge-into master Switched to branch 'master' Your branch is up-to-date with 'origin/master'. Updating 9fde751..e62edfa Fast-forward