1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

機密データをリポジトリから削除する

Last updated at Posted at 2021-01-06

Git リポジトリへのパスワードや SSH キーといった機密データをコミットする場合、そのデータを履歴から削除することができます。 不要なファイルをリポジトリの履歴から完全に削除するには、git filter-branch コマンドと BFG Repo-Cleaner は、リポジトリの履歴を書き換えます。

ここにはgit filter-branchを使ってすべてのbranchesとtagsの履歴を削除するスクリプトです。

#!/bin/bash

branches=(master 1.0.0 1.0.1 ...)
key_file="file or path will be deleted"
for br in "${branches[@]}"; do
    echo $br
    git checkout "$br"
    git filter-branch --force --index-filter "git rm --cached --ignore-unmatch $key_file" --prune-empty --tag-name-filter cat
    git add . && git commit -m "delete Sensitive Data" && git push origin --force --all
done

git push origin --force --tags

参照

  1. [機密データをリポジトリから削除する] (https://docs.github.com/ja/free-pro-team@latest/github/authenticating-to-github/removing-sensitive-data-from-a-repository)
  2. ファイルをリポジトリの履歴から削除する
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?