【Git】git filter-repoで特定ファイルの履歴だけ切り出す

既にGitで管理しているプロジェクトについて、
ある特定のディレクトリだけを切り出して、別プロジェクトで管理することになった。
最近はgit filter-branchではなく、git filter-repoを使うらしい。

使い方

例 /hogehoge/commonsの履歴だけにする場合

git filter-repo --force --path hogehoge/commons/
  • forceを付けないとエラーになったが、おそらくorigin/masterが見つからない作業場所だったため
  • git filter-repoはHomebrewでインストール
  • WindowsではScoop経由で入れたがpython問題が解決しなかった