目次
たとえば GitHub のような公開リポジトリに、 サービスのアクセスキーやパスワードなどを commit & push してしまったときなどに使える方法です。
手順
まず、履歴含めて commit から対象ファイルを削除します。
1 |
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch FILEPATH' --prune-empty --tag-name-filter cat -- --all |
FILEPATH
のところには、 対象ファイルのパスを入力してください。
履歴から削除されたら、 push を行います。
1 2 |
git push origin --force --all git push origin --force --tags |
注意点
この作業をした後、他の開発者には merge ではなく rebase してもらいましょう。