git-filter-repo

A versatile tool for rewriting Git history.

TLDR

Replace a sensitive string in all files

$ git filter-repo --replace-text <(echo '[find]==>[replacement]')
copy

Extract a single folder, keeping history

$ git-filter-repo --path [path/to/folder]
copy

Remove a single folder, keeping history

$ git-filter-repo --path [path/to/folder] --invert-paths
copy

Move everything from sub-folder one level up

$ git-filter-repo --path-rename [path/to/folder/:]
copy

Copied to clipboard
coinbase