Open3

gitの歴史改変が出来るgit filter-repo

ほなふくほなふく

操作を誤ってgitにパスワードを乗っけてしまった時、git resetやgit filter-branchを使うことがある。
git resetでは履歴を消してしまうので、修正してまた挙げたいときはgit filter-branchを使っていた。
ただgit filter-branchを実行すると
WARNING: git-filter-branch has a glut of gotchas generating mangled history rewrites.
とのことなのでgit-filter-repoを使ってみる。

https://github.com/newren/git-filter-repo

macなら

brew install git-filter-repo

でインストール出来る。Linuxなら

wget https://raw.githubusercontent.com/newren/git-filter-repo/main/git-filter-repo && \
chmod +x git-filter-repo && \
sudo mv git-filter-repo /usr/local/bin

でインストール出来るはず

git-filter-repo --version

でversion確認

ほなふくほなふく

安全のためリモートブランチの登録が削除されるようなのでローカルのgitにremoteを設定してからpushする

git remote add origin git@github.com:<user name>/<repository>
git push -f origin main

# 必要に応じて
git push -f origin --all