---
syntax: markdown
tags: [tldr, common]
source: https://github.com/tldr-pages/tldr.git
---
# git filter-repo

> A versatile tool for rewriting Git history.
> See also: `bfg`.
> More information: <https://github.com/newren/git-filter-repo>.

- Replace a sensitive string in all files:

`git filter-repo --replace-text <(echo '{{find}}==>{{replacement}}')`

- Extract a single folder, keeping history:

`git filter-repo --path {{path/to/folder}}`

- Remove a single folder, keeping history:

`git filter-repo --path {{path/to/folder}} --invert-paths`

- Move everything from sub-folder one level up:

`git filter-repo --path-rename {{path/to/folder/:}}`
