ある日、いつものようにgitで歴史改竄をしようとしたらこんな警告文が…
WARNING: git-filter-branch has a glut of gotchas generating mangled history
rewrites. Hit Ctrl-C before proceeding to abort, then use an
alternative filtering tool such as 'git filter-repo'
(https://github.com/newren/git-filter-repo/) instead. See the
filter-branch manual page for more details; to squelch this warning,
set FILTER_BRANCH_SQUELCH_WARNING=1.
要するにgit filter-branch
が新しくなんかいい感じになったgit filter-repo
があるらしいです。
インストール
デフォルトではインストールされていないので、追加でインストール作業が必要です。
Homebrewだとこんな感じ。それ以外はこちらを見てください
brew install git-filter-repo
(Windowsはpipからインストールするしかないのか…)
使い方
マニュアルはこちら。オプションはgit filter-branch
よりわかりやすくなってますね。
フォルダ移動
git filter-repo --to-subdirectory-filter my-module
src以下だけ残す
git filter-repo --path src/
ReadMe.mdだけ消す
git filter-repo --path ReadMe.md --invert-paths