it-swarm-ja.com

機密データを誤ってGithubに配置した場合はどうすればよいですか?

私たちのチームは、誤っていくつかの個人情報をH2データベースファイルの形式でGithubにプッシュしました。サーバーからファイルをきれいに完全に削除する方法はありますか?

単にgit rm xxx.db簡単にできるので、答えではないようですgit reset --hardユーザーデータを含むヘッドに。

一方、

git reset --hard [the head before the db file was committed]

データベースがコミットされてから10を超えるコミットがあったため、これも私たちの好みではありません。

そのデータベースファイルを削除するにはどうすればよいですか?

3
Haochi Kiang

機密データの削除 に関するGitHubヘルプをお読みください。

  • 以下を実行して、リポジトリ全体のファイルへの参照を削除します。これにより、実際のファイル自体は削除されません。

    git filter-branch --force --index-filter \
      'git rm --cached --ignore-unmatch <somefile>' \
      --Prune-empty --tag-name-filter cat -- --all
    

    (必ず<somefile>を削除するファイルへのパスに置き換えてください。)

  • ファイルを.gitignoreに追加し、次にgit addgit commit.gitignoreファイルに追加します。

  • git Push Origin master --forceを実行して、変更をアップストリームに取得します。

キャッシュされたデータを削除するために、 リポジトリのクリーンアップ および GitHub自体への書き込み を含むいくつかのステップがあります。

5
slhck

次のいずれかを行わない限り:

  • リポジトリを削除する
  • gitHubに連絡する

ぶら下がっているコミットはまだ表示されます。したがって、変更できるのが資格情報だけではない場合は、上記のいくつかを実行してください。

参照: https://stackoverflow.com/questions/4367977/how-to-remove-a-dangling-commit-from-github