Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


GIT utilities -- repo summary, repl, changelog population, author commit percentages and more

Subscribe to updates I use git-extras

Statistics on git-extras

Number of watchers on Github 14122
Number of open issues 111
Average time to close an issue 19 days
Main language Shell
Average time to merge a PR 2 days
Open pull requests 48+
Closed pull requests 14+
Last commit about 1 month ago
Repo Created almost 10 years ago
Repo Last Updated 16 days ago
Size 1.52 MB
Organization / Authortj
Latest Release6.0.0
Page Updated
Do you use git-extras? Leave a review!
View open issues (111)
View git-extras activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating git-extras for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Git Extras

Little git extras.


Just getting started? Check out these screencasts:

  • introduction -- covering git-ignore, git-setup, git-changelog, git-release, git-effort and more


See Installation page.


Go to Commands page for basic usage and examples.

GIT utilities -- repo summary, repl, changelog population, author commit percentages and more


Interested in contributing? Awesome!

Please read Contributing before you make a PR, thanks!

git-extras open issues Ask a question     (View All Issues)
  • almost 4 years Include git-find
  • almost 4 years git remove-merged-branches --remote
  • almost 4 years namespace commands
  • almost 4 years Discussion: Add 'fresh' alias to support cleaning up local branches
  • almost 4 years Discussion: Add 'fav' alias to support cloning by repo name
  • almost 4 years git-guilt 80 column term overflow
  • about 4 years Install not possible in headless environment due to conflicting git alias
  • about 4 years Any way to persist Github username and password to avoid prompt for git fork?
  • about 4 years Git rename local and remote branch.
  • over 4 years Time for a new release.
  • over 4 years `git rscp staging` doesn't sync remote unstaged files
  • over 4 years Branch management utility
  • over 4 years Don't work with Bitbucket pull requests
  • over 4 years msys2 problem
  • over 4 years git fork failed due to two factor authentication
  • over 4 years Merging git-identity into git-extras
  • over 4 years git-delete-merged-branches are removing branch without remote
  • over 4 years git-delete-branch shouldn't assume origin
  • over 4 years `git-release` adds changes for *all* checked-in files
  • over 4 years add "biggest files in git tree history" command
  • over 4 years git changelog outputs all commits in only one repo
  • over 4 years [suggestion] command to add license to repo
  • over 4 years Git flow
  • over 4 years new system-branch
  • over 4 years git summary
  • almost 5 years Combine README
  • almost 5 years ignore: need to ensure a linebreak
  • almost 5 years git-changelog does not work with no previous tags
  • almost 5 years effort and summary complain if you `| head` them
  • almost 5 years Want an updated Makefile for BSD/Homebrew/non-root?
git-extras open pull requests (View All Pulls)
  • Revamp makefile
  • Also display body for normal commits
  • update git obliterate
  • introduce git-pstash (public stash)
  • pull submodule to latest version
  • add git-versions
  • Delete branches in all listed remote repositories
  • add git-swap command to swap the two last commits
  • git-unpack-refs unpacks .git/packed-refs
  • pass release arguments to pre/post-release scripts
  • a few fixes in a row
  • Added git-upstream to easily add upstream repository
  • Added git-root to display current root directory.
  • Introduce 'dry-merge' command
  • Added ignore through assume unchanged.
  • git-changelog: replace evil ls(1) pipe with find
  • How to update a submodule version to latest ?
  • Adding git-pull-all
  • [HOTFIX][git-changelog] Sort by authordate ASC instead of authordate DESC to retrieve the latest
  • Add -m flag to git-setup to set the initial commit message.
  • added graph
  • Update the way to delete submodule
  • Remove myself from AUTHORS
  • Add git reauthor
  • [WIP] Add git-pull-all command
  • Make git-pr set up branch for pulling
  • Add git stamp
  • count: remove usage of extra arguments for detailed display
  • Update git-delete-branch
  • Fix integrity for git-reauthor
  • Update git-standup command
  • git-fork: Let curl exit with error code on fail
  • git-delete-branch: avoid deleting local upstream
  • Feature/git fork
  • effort: handling of $'s and \n's, plus make shellcheck happy
  • [Git ReAuthor] Replace by name
  • [Git Summary] Show email address
  • add git-wip and git-unwip
  • git-release: create an empty release commit if there is nothing to commit
  • Fixed mktemp template to support busybox (and Alpine linux)
  • feat(browse): automatically select origin remote if one exists, fallback to first otherwise
  • added color to comments for easy review
  • feat(git-clear): add --force and --help flags
  • Added search and replace for invalid characters in branch name. A '\'…
  • Safer protected branches + prevent warning when nothing to clean-up
  • Check scripts with shellcheck before accepting new commands
  • Improved the 'git-info' command
  • git-from: create a new repo based on a template repo
git-extras questions on Stackoverflow (View All Questions)
  • How to use git-extras on windows(PortableGit)
git-extras list of languages used
git-extras latest release notes
6.0.0 Version 6.0.0 (Aurora)

The git-extras 6.0.0 (Aurora) is released now!

Here's a list of all the changes made in this release; the full changelog can be found in History.md:

  • (#849) Correct undo documentation to match code order of parameters @vr8hub
  • (#850) Modify to work when only a single commit, add parameter checks @vr8hub
  • (#847) docs: Note flag for git extra --version @Amorymeltzer
  • (#846) doc: add a note about the package maintainer. @spacewander
  • (#844) docs: mention installation via FreeBSD pkg @ihoro
  • (#843) break change: remove docs and other stuff of git-feature's alias @spacewander
  • (#845) Remove scripts that are mere alias wrappers for git-feature @alerque
  • (#840) git-archive-file: rename invalid chars in the output filename @spacewander
  • (#841) Fix missing newline escapes in git-release zsh completion @sgleizes
  • (#837) add a default for the remote to fetch a pr from @jldugger
  • (#836) add a config setting for prefix @jldugger
  • (#829) add squash option to git-feature @cpradog
  • (#826) Add git-cp @Natim
  • (#827) Update man page export for git-psykorebase with ronn-ng 0.9.0 @Natim
  • (#824) Fix documentation for git-browse @mapitman
  • (#823) Add git-browse command @mapitman
  • (#820) change: deprecate git-back @spacewander
  • (#817) Fixes #770: Adds git-brv @bric3
  • (#816) git-sed: limit paths via pathspec @spacewander

Since the last release (5.1.0 Zigzag):

  • updated man pages or documentation 15 times
  • fixed installation/update 2 times
  • 10 unique contributors

Break change:

  1. git back is deprecated. Use git undo --soft instead.
  2. git bug|chore|refactor is removed. Use git feature -a bug|chore|refactor instead.

New authors:

  • vr8ce
  • Amory Meltzer
  • Caleb Maclennan
  • phigoro
  • sgleizes
  • Justin Dugger
  • Carlos Prado
  • Mark Pitman
  • Brice Dutheil
5.1.0 Version 5.1.0 (Zigzag)

The git-extras 5.1.0 (Zigzag) is released now!

Here's a list of all the changes made in this release; the full changelog can be found in History.md:

  • (#813) some fixes before release @spacewander
  • (#812) git-sed: escape special characters for tr @spacewander
  • (#811) build: do not require the nonstandard and unpredictable 'which' utility @eli-schwartz
  • (#804) add repositories to workspace from source - @roxchgt
  • (#810) read COMMANDS_WIHOUT_REPO from not_need_git_repo file @roxchgt
  • (#806) retire the msysgit installation script @spacewander
  • (#808) git-ignore: support non-default .git directory @drasill
  • (#802) fix bug in allowedargcount() to not execute command if wrong args count @spacewander
  • (#801) git-delete-submodule: don't remove the history of deleted submodule @spacewander
  • (#798) Signed release @wolviecb
  • (#795) Git squash commit msg @spacewander
  • (#793) git-standup: add option '-B' to group the commits by branch @spacewander
  • (#789) Delete empty gitmodules @go2null
  • (#792) clean up git-summary @spacewander
  • (#790) git-summary: add --dedup-by-email to remove duplicate users @spacewander
  • (#788) git-summary: add missing example of --line option @spacewander
  • (#787) Use GIT_DIR environment variable to to set .git directory @rvbuelow
  • (#786) Docs: add OpenSUSE distribution information @mbologna
  • (#784) git-effort: adjust column limit according to the paths @spacewander
  • (#708) Add git-paste for sending patches to pastebin @pabs3
  • (#778) Clean up some minor issues detected by check-all-the-things @pabs3
  • (#776) git-pr: mention the limitation of -m option @spacewander
  • (#777) [Doc]Install completion with zplugin @fengkx
  • (#772) Add git coauthor command @jacobherrington
  • (#774) Link to the contributing document @jacobherrington

Since the last release (5.0.0 Yinyang):

  • updated man pages or documentation 16 times
  • fixed installation/update 6 times
  • 12 unique contributors

New authors:

  • Eli Schwartz
  • Roshak Zarhoun
  • roxchgt
  • Christophe Badoit
  • Tom Andrade
  • go2null
  • Robin von Blow
  • Michele Bologna
  • Paul Wise
  • fengkx
  • jacobherrington
  • Jacob Herrington
5.0.0 Version 5.0.0 (Yinyang)

The git-extras 5.0.0 (Yinyang) is released now!

Here's a list of all the changes made in this release; the full changelog can be found in History.md:

  • (#769) git-line-summary: should be the history @spacewander
  • (#768) git-guilt: protect against encoding issues with LC_ALL=C @bric3
  • (#767) git-rename-branch: change branch argument order @spacewander
  • (#765) Installation.md: add dependencies section. @spacewander
  • (#763) check_integrity.sh: check more strickly. @spacewander
  • (#762) git-pr: add -m|--merge option to check out a merge commit @spacewander
  • (#761) create-branch allows for preference for remote option @btmurrell
  • (#754) git-fork: prompt for password before 2FA code. @spacewander
  • (#753) git-reauthor: updated documentation to show rename workaround @tiemonl
  • (#751) git-rename-remote: rename a remote regardless of any existing remotes @timfeirg
  • (#723) Make git undo -s restore the staging area @bittner
  • (#746) Installation instructions added for CRUX @Awan
  • (#744) git-guilt: avoid exceeding 80 columns. @spacewander

Since the last release (4.7.0 X-ray):

  • updated man pages or documentation 11 times
  • fixed installation/update 3 times
  • 6 unique contributors

Break change: Since 5.0.0,

  • git line-summary is removed
  • git undo -s won't touch the index, just like the git reset --soft
  • git rename-branch change the argument order from git rename-branch new old to git rename-branch old new.

New authors:

  • Brice Dutheil
  • Brian Murrell
  • tiemonl
  • timfeirg
  • Abdullah
  • Peter Bittner


Other projects in Shell