やらかしたことと経緯
本当に右も左もわからぬGit初心者だったころにやらかしたことです。
ある人の書いたソースコードをお借りしたいと思い、そのレポジトリを複製した上で自分で名前を付けて新しいレポジトリをprivateで作りました。
そしてちょいちょい自分用にそのレポジトリを書き換えて、元になった方のレポジトリと見比べながらブラウザ上でちまちま編集していたところ……
なんと間違えて元になった方のレポジトリ(他人様のレポジトリ)を直接ブラウザでいじってしまったのです!
複製したばかりだったので、コード編集画面がそっくりで編集した時には気づかなかったのですね。
そのまま緑色のCommit Changesボタンを押して、あっ……!と直後に気が付きました。自分は今、他人様のレポジトリで編集してしまったのではないかと!
画面上には 自分のユーザ名 Update .gitignore が表示されてしまっています。
しかもprivateで編集していたはずなのに、publicになっちゃってる……!
その時、私はめちゃくちゃ焦りました。なぜなら、当時のセキュリティ意識がガバガバな私はAPI keyをそのままの形で埋め込んでCommitしていたからです。(アホ)
やばい……! 私のAPI keyが公開されたうえ、コソコソと世界の片隅で開発しているだけの私の存在が全世界に知られてしまう……!
解決への道
その時大変焦っていた私はQiitaの質問板にまでお邪魔してCommitを取り消す方法などを聞いたりなどしていたのですが、まあ、もちろん無事解決しました。
Githubのブラウザ上において、他人のレポジトリを編集した場合それはforkしたものとして扱われます。
すなわち、自分が編集した変更はそのままで、publicなレポジトリとして自分の配下に作られるということですね。
なので当然自分のレポジトリという扱いになるので、そのレポジトリを消すもprivateにするも自分の自由です(SettingからDeleteを押すだけです)。
消せばもちろんそれ以降誰の目に触れることもありません。
しかし当時の私は「Fork=なんじゃそりゃ、Commit=編集の確定」みたいな感じだったので、編集確定しちゃった!どうしよう他人のレポジトリなのに! となってしまったのですね。
そもそもブラウザ上で直接ガリガリ編集を書き加えていたところで大分やっちゃってますしね。
終わりに
ろくに使い方も分かっていなかった初心者だったから仕方がないとはいえ、当時はとても焦りました。
ちなみに公開してしまったAPI keyはLINE Notifyのやつなので、流出して使われてしまっても「通知がうるさいなあ」となるだけだったのですがねw
最近Gitを操作するのに詰まったことがあり、ふとそういえばあんなことがあったなと思い出してこの記事を書きました。(※ちなみに、git初期化をしないでcommitしようとしていました。いつまで経ってもこんなミスばかりしています)
私みたいな早とちりのおっちょこちょいがそうそう世の中にいるとは思えませんが、もし困っていたら検索かなにかでこの記事にたどり着いてくれると嬉しいですね。
ところで最近からなのか知りませんが、Publicな他人のレポジトリに変更を加えようとすると以下のような文章が出てくるらしいです。
ひょっとして、割と自分のレポジトリと間違えて操作しちゃう人多いのか……?