Are you happy with your logging solution? Would you help us out by taking a 30-second survey? 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 11186
Number of open issues 102
Average time to close an issue 19 days
Main language Shell
Average time to merge a PR 2 days
Open pull requests 40+
Closed pull requests 8+
Last commit almost 2 years ago
Repo Created over 9 years ago
Repo Last Updated over 1 year ago
Size 1.2 MB
Organization / Authortj
Latest Release4.5.0
Page Updated
Do you use git-extras? Leave a review!
View open issues (102)
View git-extras activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

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

git-extras open issues Ask a question     (View All Issues)
  • about 3 years Include git-find
  • about 3 years git remove-merged-branches --remote
  • about 3 years namespace commands
  • over 3 years Discussion: Add 'fresh' alias to support cleaning up local branches
  • over 3 years Discussion: Add 'fav' alias to support cloning by repo name
  • over 3 years git-guilt 80 column term overflow
  • over 3 years Install not possible in headless environment due to conflicting git alias
  • over 3 years Any way to persist Github username and password to avoid prompt for git fork?
  • over 3 years Git rename local and remote branch.
  • over 3 years Time for a new release.
  • over 3 years `git rscp staging` doesn't sync remote unstaged files
  • over 3 years Branch management utility
  • over 3 years Don't work with Bitbucket pull requests
  • over 3 years msys2 problem
  • over 3 years git fork failed due to two factor authentication
  • over 3 years Merging git-identity into git-extras
  • over 3 years git-delete-merged-branches are removing branch without remote
  • almost 4 years git-delete-branch shouldn't assume origin
  • almost 4 years `git-release` adds changes for *all* checked-in files
  • almost 4 years add "biggest files in git tree history" command
  • almost 4 years git changelog outputs all commits in only one repo
  • almost 4 years [suggestion] command to add license to repo
  • about 4 years Git flow
  • about 4 years new system-branch
  • about 4 years git summary
  • about 4 years Combine README
  • about 4 years ignore: need to ensure a linebreak
  • about 4 years git-changelog does not work with no previous tags
  • about 4 years effort and summary complain if you `| head` them
  • about 4 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)
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
4.5.0 Version 4.5.0 (Venus)

The git-extras 4.5.0 (Venus) is released now!

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

  • (#639) git-delete-branch: avoid deleting local upstream @spacewander
  • (#693) Fixed mktemp template to support busybox (and Alpine linux) @xakraz
  • (#691) Remove trailing dot of German Windows @koppor
  • (#690) feat(git-release): push tags first to help ci tools not miss them @dominicbarnes
  • (#687) git-release: handle extra non-numeric prefix in tag with --semver @spacewander
  • (#686) git-release: add --semver option @spacewander
  • (#684) git-release: function usage doesn't exist, ignore unknown argument instead @spacewander
  • (#681) Fix so 'git rebase-patch' is described once. @EdwardBetts
  • (#680) Preserve existing user commands in zsh completion @lhernanz
  • (#679) Mention how to control changelog format in docs of git-changelog @spacewander
  • (#678) Docs> Add -- in front of cmd for git log @timhwang21
  • (#676) Fix 'Invalid code page' error when restoring code page at end of script for Windows @gormac
  • (#675) git-effort: restore normal (visible) cursor properly @quite
  • (#674) Add GitHub two factor auth support to git-pull-request @spacewander
  • (#672) Added Nix/NixOS method of installation @mehandes
  • (#671) Improve ignore-io @sambostock
  • (#670) Fix typo in @zeeshanu
  • (#668) Fix typos @isaacm

Since the last release (4.4.0 Uranium):

  • updated man pages or documentation 7 times
  • fixed installation/update 3 times
  • 12 unique contributors

Break change: Since 4.5.0, git undo -h will prompt if you really want to undo the change. In the future, we may change the -h option, and you need to use --hard instead.


4.4.0 Version 4.4.0 (Uranium)

The git-extras 4.4.0 (Uranium) is released now!

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

  • (#654) git-delete-merged-branches: replace xargs -r option - @spacewander
  • (#656) Fix typo in git-extras - @dueringa
  • (#659) Add git-mr to checkout GitLab merge requests - @bersace
  • (#662) Added git-bulk to not_need_git_repo - @nschlimm
  • (#664) Specify upstream for git bug/chore/feature/refactor and git create-branch won't set origin as upstream by default - @mapitman

Since the last release (4.3.0 titan):

  • added 1 new commands (git mr)
  • updated man pages or documentation 4 times
  • fixed installation/update 2 times
  • 3 unique contributors

Break change: Since 4.4.0, git create-branch doesn't setup remote tracking branch automatically. You need to specify the remote with -r option. Run git help create-branch to know more detail.

uraninite_miceeyes By Weirdmeister - Own work, CC BY-SA 4.0,

4.3.0 Version 4.3.0 (titan)

The git-extras 4.3.0 (titan) is released now!

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

  • (#578) count: remove usage of extra arguments for detailed display - @tardypad
  • (#585) Add git stamp - @tardypad
  • (#588) Add --no-email to git-author - @spacewander
  • (#589) Spelling fixes - @yelinaung
  • (#590) Be sure to remove tempfile in git-changelog - @bbbco
  • (#591) git-force-clone - @nottrobin
  • (#592) Fix integrity for git-reauthor discussion - @spacewander
  • (#594) Show all commit messages if no tag found - @spacewander
  • (#595) fix: git-squash docs. Replaced 'actual' with 'current' - @aaguilera
  • (#596) Fix typo in archive-file documentation - @richardfearn
  • (#597) Improvements to - @richardfearn
  • (#598) git-sed: fix 'unkonwn' typo - @richardfearn
  • (#599) git-{clear,clear-soft,sync}: improve yes/no prompts - @richardfearn
  • (#600) git-fresh-branch: fix handling of 'yes' response when there are changes - @richardfearn
  • (#601) git-sed: use grep -z and xargs -0 to cope with spaces in filenames - @richardfearn
  • (#602) git-delete-merged-branches: use xargs -r to prevent error when there are no branches to delete - @richardfearn
  • (#603) git-clear-soft: change default yes/no option to no (as with git-clear) - @richardfearn
  • (#606) fix git-extras update and tweak Windows detection - @spacewander
  • (#610) spelling: {a,an} archive - @nicolaiskogheim
  • (#615) Adds 2FA support to git-fork - @techjacker
  • (#619) use U+266A instead of comma as separator - @spacewander
  • (#624) Check commit existed before running some commands - @spacewander
  • (#626) fall back to EMAIL when is not configured - @jldugger
  • (#627) Added Github Enterprise support - @hickey
  • (#629) Fix git-effort for paths starting with dash - @dankilman
  • (#630) Add RHEL/CentOS installation - @jjlin
  • (#633) Columns in git-effort adopt to file length - @nschlimm
  • (#635) fix syntax & name variables better in rename-branch - @spacewander
  • (#636) use remote detected instead of 'origin' in rename-branch - @spacewander
  • (#641) pull_request: should use detected upstream instead of hardcore origin - @spacewander
  • (#642) Git bulk command - @nschlimm
  • (#643) Remove slashes from git-config command - @jonyamo
  • (#646) Upgrade git-standup to new interface - @spacewander
  • (#647) Add BSD cat support - @SMillerDev
  • (#649) git-fork: Let curl exit with error code on fail - @adriaanzon
  • (#651) pass tag and optional arguments to hook and stop if pre-release hook fails - @spacewander

Since the last release (4.2.0 starplex):

  • added 3 new commands (git bulk, git force-clone, and git stamp)
  • updated man pages or documentation 19 times
  • fixed installation/update 1 times
  • 11 unique contributors


Other projects in Shell