Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

git-toolbelt is a collection of shell commands that adds convenient shortcuts and script-friendly checks around Git. It can help with everyday tasks such as finding the repository root, listing modified files, checking branch state, or saving a work-in-progress snapshot—but it does not replace Git itself. Its scripts require a POSIX shell; on Windows, use Git Bash or WSL rather than native PowerShell.

What is git-toolbelt?

The project describes itself as “A suite of useful Git commands that aid with scripting or every day command line usage.” It provides commands named with a git- prefix that wrap common repository tasks or offer higher-level workflows. Git’s official Command Line Tools directory lists git-toolbelt among collections of Git tools; that listing is category context, not a comparison or endorsement.

These helpers are separate from Git’s built-in commands. They run in your shell and generally rely on Git being installed and available. Use native Git when you need its full options or want to avoid an added script dependency; use a helper when its specific behavior makes a repeated task simpler.

How do I install git-toolbelt?

The upstream documents two installation routes. Homebrew is the more direct option. The clone method links the scripts from a local checkout, so keep that checkout in place after installation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install with Homebrew

  1. Run brew tap nvie/tap.
  2. Run brew install nvie/tap/git-toolbelt.

Install from a Git clone

  1. Clone the git-toolbelt repository and change into the cloned directory.
  2. Run make link. It symlinks the commands into ~/.local/bin, or into an existing ~/bin.

Because the commands are symlinks to files in the checkout, edits there take effect immediately. Moving or deleting the checkout breaks those links. To remove them, run make unlink from the clone. When installing outside Homebrew, the project also requires GNU coreutils for realpath.

Does git-toolbelt work on Windows?

The commands are POSIX shell scripts. The project points Windows users to Git for Windows (Git Bash) or Windows Subsystem for Linux (WSL); it says the scripts do not run in native PowerShell. Choose an environment that provides a compatible shell and Git before relying on these helpers in a workflow.

Which commands help with branches and repository state?

For quick inspection, these helpers expose information that would otherwise take longer commands or scripting to assemble:

  • git-current-branch prints the current branch; git-main-branch attempts to identify the main branch; and git-root prints the working-tree root.
  • git-local-branches and git-remote-branches list local and remote branches. git-recent-branches orders local branches by recency, while git-active-branches lists branches whose tip commit is recent. Its default window is three weeks and can be adjusted with date options.
  • git-merged, git-unmerged, and git-merge-status help inspect merge state. git-branches-containing helps find branches containing a commit.

For conditional scripts, git-is-repo, git-is-headless, git-has-local-changes, git-is-clean, and git-is-dirty provide exit-code-oriented checks. Related helpers check for local commits, branches, tags, and ancestry. The repository cautions that git contains X Y and git is-ancestor X Y are not exact opposites in cases involving equal commits or unrelated histories; do not substitute one predicate for the other without accounting for those cases.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How can I list modified files?

git-modified prints locally modified existing files without the extra status details. You can narrow it to pathspecs by placing them after --. For example, git modified -- src/ is not the tool’s invocation: run the helper as git-modified -- src/. The output can be piped into an editor or another command, but filenames may contain spaces or unusual characters, so check the receiving command’s handling of newline-separated paths before automating broadly.

git-modified-since lists files changed since the main branch or a chosen commit. This is useful for assembling a focused review list; confirm the chosen comparison point is the one you intend.

What helpers support staging, savepoints, and commits?

  • git-stage-all stages all changes, corresponding to git add --all. git-unstage-all removes everything from the index while leaving working-tree files intact.
  • git-wip saves staged, unstaged, and new-file changes as up to three commits titled “WIP.” This creates commits, so inspect the resulting history before sharing it.
  • git-stash-everything stashes index, working-tree, and untracked changes.
  • git-fixup folds staged changes into the last commit. git-fixup-with interactively selects a commit to fix up; its picker uses fzf, which the project documents as a separate optional installation (for example, through Homebrew). You do not need fzf for every git-toolbelt command.
  • git-push-current pushes the current branch and sets upstream tracking. git-workon switches to a local branch or creates one tracking the corresponding origin branch.

git-spinoff starts a new tracking branch and resets the former branch to its common point with upstream under the conditions described by the project. Since that affects branch position, read the command’s current documentation and confirm the upstream relationship before using it.

Which commands need extra care?

Several helpers change or discard repository state rather than simply report it. Read their upstream documentation and inspect your branch, index, and working tree before running them. A safe general practice is to make a backup branch or otherwise preserve work you cannot recreate.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • git-undo-commit, git-undo-merge, and git-drop-local-changes address different recovery situations; they are not interchangeable. In particular, git-drop-local-changes discards uncommitted work.
  • git-cleanup removes branches that its documented rules consider already merged into main, both locally and on origin. Verify the branches and remote state first; a deletion can remove a useful local reference.
  • git-delouse, git-shatter-by-file, git-cleave, git-commit-to, git-cherry-pick-to, and git-edit-author-dates are advanced history or workflow operations. Depending on the command, they may rewrite history, move commits, or otherwise change branch relationships. Rewriting published commits can disrupt collaborators; coordinate before doing so and retain a recovery reference.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What is the current version?

The upstream repository’s surfaced release information identifies v1.11.0, dated May 21, 2026. Its notes mention the new git-edit-author-dates command and a git-modified fix for -- <pathspec>... filtering and invalid commit/flag combinations. The preceding surfaced release, v1.10.0, is dated February 12, 2026; its notes mention improved main-branch detection, removal of git-repo because it conflicts with a newer built-in Git subcommand, and fetching before git-workon checkout. Consult the upstream repository for current release details and exact behavior, as versions can change.

When is git-toolbelt useful?

It is most useful when you already use Git and repeatedly perform the same inspection or workflow steps, or when a script needs a concise repository check. Start with read-only helpers such as git-root or git-current-branch, then learn the behavior of any command that stages, commits, deletes branches, or edits history before incorporating it into automation. For broader Git fundamentals, the official Pro Git book is available online; it is optional background, not a requirement for using git-toolbelt.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.