LoginSignup
3
0

More than 3 years have passed since last update.

GitHubへパスワードを含むファイルを誤ってpushした時、そのブランチを消しても内容はキャッシュされ続ける

Last updated at Posted at 2019-06-14

タイトルの通りです。

ではどうすればいいのか

こういう時は慌てず、下記を参照して歴史修正をしましょう。

https://help.github.com/en/articles/removing-sensitive-data-from-a-repository

すでに消してしまった場合

この場合の解決策はGitHubへ問い合わせ中です。
ひとまずAPIキーなどは即座に変更するべきでしょう。

詳細

はじまり

パスワードを含むファイルを間違えてcommitして、しかもpushしてしまったこと、エンジニアなら一度は経験するのではないでしょうか。
ここにも一人、そういううっかりさんがいたとします。add-passwordなんていう分かりやすいブランチをpushしてしまいました。

1.png

2.png

しかし幸いにもあなたは、このPRを出す前にミスに気づくことができました。
そこでこのブランチを消すために、以下の画面からブランチを削除します。

3.png

4.png

これで一安心。あなたはpasswordファイルを含まないコミットを作り、PRを出しました。

一安心・・・と思いきや

しかし数日後、Googleから「君のAPIキー漏れてるよ」と警告メールが来ます。
そんなはずはありません。そのブランチは消してある、と思いつつメールのURLを開くと...。

5.png

なんか残ってる。
URLをよく見ると、https://github.com/<リポジトリオーナー>/<リポジトリ名>/blob/<commitのsha1>/<ファイル名>となっています。更に良く見ると画面の[Tree]のところにcommitのsha1値が入っていることがわかります。
具体的にはこんなURLです。
https://github.com/akihiro-iwata/check-gitub-feature/blob/2bd6037d68c20fcf3f53261981c0ad1152277680/password.txt

つまりブランチを消しても、その内容はGitHub上でキャッシュされ続けるため、パスワードは依然としてWeb上に公開されたままだったのでした。

結論

GitHubへパスワードを含むファイルを誤ってpushした時、そのブランチを消しても内容はキャッシュされ続ける

3
0
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
3
0