Back to directory

git filter-repo

A history-rewriting tool for Git, recommended by the Git project itself in place of git filter-branch, that also works as a library for building custom repository-rewriting tools.

git filter-repo

git filter-repo rewrites Git repository history, covering the same use cases as git filter-branch but with much better performance and more capabilities, and with a design meant to scale beyond simple rewriting cases. It is now the tool the Git project itself recommends over filter-branch.

Most users run it as a single-file Python script placed on their PATH, using its command-line flags for common rewriting tasks. Because its core logic is a Python module, users with more specialized needs can also import it to build their own custom history-rewriting tools.

It requires Git 2.36 or later and Python 3.6 or later, and its documentation compares it with alternatives such as the BFG Repo-Cleaner and plain filter-branch.

More in Git

See all 52
  • gat

    github.com

    Versioned large-file storage for Git that needs no dedicated LFS server: point it at an object store such as S3 or a plain directory, then keep using ordinary Git commands.

  • Critic

    critic.run

    A code-change viewer, backed by Y Combinator, built for reviewing work written by coding agents, presenting a plain-language narrative of each change alongside the diff and a running conversation with the agent.

  • Anchorpoint for Lore

    anchorpoint.app

    A free desktop client for Epic's Lore version control system, aimed at artists and other non-programmers working on Unreal Engine and other large content-creation projects.