Git Add-ons
repo: stevemao/awesome-git-addons
category: Development Environment
Awesome git addons 
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
- Git Flow
- Git Up
- Hub
- Git Deploy
- Git Cal
- Git Hooks
- Git Imerge
- Git Issue
- Git Large File Storage
- Git Now
- Git Plus
- Git Test
- Legit
- Git When Merged
- Git Playback
- Git Branch Status
- Git Open
- Git My
- Git Ink
- Recursive Blame
- [Git Hyper Blame](#hyper-blame)
- Git Word Blame
- Git Fire
- Git Town
- Git blame-someone-else
- Diff So Fancy
- Git Stats
- Git Secret
- Git Secrets
- git-fixup
- git-recent
- git-interactive-rebase-tool
- git-fiddle
- git-user
- gitsome
- Git Hound
- git-recall
- git-standup
- Commitizen
- git-fresh
- git-fs
- Git Url
- Git Signatures
- Git Profile
- git revise
- filter-repo
- git-jump
- git-project
- git-branchcut
- git-exfiltrate
- git-spend
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](/@harrisonqian/awesome/wiki/platforms/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
234 | 0
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 234
Switched to branch 'development'
graft
$ git graft development
Your branch is up-to-date with 'origin/master'.
Merge made by the 'recursive' strategy.
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Deleted branch development (was 64b3563).
alias
$ git alias last "cat-file commit HEAD"
$ git alias
last = cat-file commit HEAD
ignore
$ git ignore build "*.o" "*.log"
... added 'build'
... added '*.o'
... added '*.log'
info
$ git info
## Remote URLs:
origin [email protected]:sampleAuthor/git-extras.git (fetch)
origin [email protected]:sampleAuthor/git-extras.git (push)
## Remote Branches:
origin/HEAD -> origin/master
origin/myBranch
## Local Branches:
myBranch
* master
## Most Recent Commit:
commit e3952df2c172c6f3eb533d8d0b1a6c77250769a7
Author: Sample Author <[email protected]>
Added git-info command.
Type 'git log' for more commits, or 'git show <commit id>' for full commit details.
## Configuration (.git/config):
color.diff=auto
color.status=auto
fork
$ git fork LearnBoost/expect.js
release
$ git release 0.1.0
... releasing 0.1.0
On branch development
Your branch is up-to-date with 'origin/development'.
nothing to commit, working directory clean
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/tj/git-extras.git
9fde751..e62edfa master -> master
Counting objects: 1, done.
Writing objects: 100% (1/1), 166 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/tj/git-extras.git
* [new tag] 0.1.0 -> 0.1.0
... complete
contrib
$ git contrib visionmedia
visionmedia (18):
Export STATUS_CODES
Replaced several Array.prototype.slice.call() calls with Array.prototype.unshift.call()
Moved help msg to node-repl
repl
$ git repl
git> ls-files
History.md
Makefile
undo
$ git undo
Unstaged changes after reset:
M package.json
M readme.md
gh-pages
$ git gh-pages
scp
$ git scp staging HEAD
setup
$ git setup
Initialized empty Git repository in /GitHub/test/gulp/.git/
[master (root-commit) 9469797] Initial commit
69 files changed, 3900 insertions(+)
create mode 100644 .editorconfig
create mode 100644 .gitignore
create mode 100644 .jscsrc
touch
$ git touch index.js
obliterate
$ git obliterate secrets.json
Rewrite 2357a4334051a6d1733037406ab7538255030d0b (1/981)rm 'secrets.json'
Rewrite b5f62b2746c23150917d346bd0c50c467f01eb03 (2/981)rm 'secrets.json'
Rewrite 3cd94f3395c2701848f6ff626a0a4f883d8a8433 (3/981)rm 'secrets.json'
feature|refactor|bug|chore
$ git feature dependencies
$ git feature finish dependencies
Already up-to-date.
Deleted branch feature/dependencies (was f0fc4c7).
Deleted remote-tracking branch origin/feature/dependencies (was f0fc4c7).
To [email protected]:stevemao/gulp.git
- [deleted] feature/dependencies
local-commits
$ git local-commits
commit 5f00a3c1bb71876ebdca059fac96b7185dea5467
Merge: 7ad3ef9 841af4e
Author: Blaine Bublitz <[email protected]>
Date: Thu Aug 20 11:35:15 2015 -0700
Merge pull request #1211 from JimiHFord/patch-1
Update guidelines.md
commit 841af4ee7aaf55b505354d0e86d7fb876d745e26
Author: Jimi Ford <[email protected]>
Date: Thu Aug 20 11:55:38 2015 -0400
Update guidelines.md
fixed typo
archive-file
$ git archive-file
Building archive on branch "master"
Saved to "gulp.v3.9.0-36-g47cb6b0.zip" ( 60K)
missing
$ git missing master
< d14b8f0 only on current checked out branch
> 97ef387 only on master
lock
$ git lock config/database.yml
locked
$ git locked
config/database.yml
unlock
$ git unlock config/database.yml
reset-file
$ git reset-file README.md HEAD^
Reset 'README.md' to HEAD^
pr
$ git pr 226
From https://github.com/tj/git-extras
* [new ref] refs/pulls/226/head -> pr/226
Switched to branch 'pr/226'
root
$ git root
/GitHub/git
delta
$ git delta
README.md
merge-repo
$ git merge-repo [email protected]:tj/git-extras.git master .
---
*truncated — [full list on GitHub](https://github.com/stevemao/awesome-git-addons)*