![見出し画像](https://assets.st-note.com/production/uploads/images/158887919/rectangle_large_type_2_d7c1e8238be31fc6c73e0daf2bbe78de.png?width=1200)
GitとGitHub。それは東京リベンジャーズ。
案内人の加藤です🥕
エンジニアとしてスタートダッシュをした駆け出しエンジニアの皆様。おそらくチーム開発でGit Hubを使う事があると思います。そして、Git Hubを最大限使うためにGitの理解が必要になります。
また、研究や大学でのプログラムの課題などで、ソースコートを書き直す機会がある方もいると思います。しかし、一度変更してしまったソースコードは上書き保存すると元に戻れなくなり、別の名前で保存すると、ファイルの増加につながり、管理が複雑になります。
そこで、Gitが重宝されます!
さらに、複数人の開発においてGitHubは開発者の足並みをそろえる上では必須のツールです!
そしてこのGitとGitHub、東京リベンジャーズという漫画あるいはアニメを知っていれば、どんなツールなのかはざっくりと理解できてしまうんです!
Git = タイムリープ能力
![](https://assets.st-note.com/img/1725244513584-53yYMVnebb.png?width=1200)
※もちろん、Gitである時点へ戻るためには、その過去の情報が記録できていないと戻れません。そこは東京リベンジャーズの世界とGitの仕組みと違う部分ではあります。
GitHub = 物語の舞台
![](https://assets.st-note.com/img/1729565365-szbhK82NkD4ScPaxZoX3iLyV.png?width=1200)
開発は一人で行う事はまれです。複数人の開発者と共同作業する際に、GitHubが力を発揮します。
開発の記録が常に共有されるので、一種の物語を紡いでいることと同じになります!
※他の開発者もタイムリープ能力を持つという点では東京リベンジャーズと違います。しかし、システムを動かすコードはGitHub上に上がっているので、それを共に作っていくことは、まるで登場人物として時系列ごとの出来事を作り上げていると見れば、GitHubは東京リベンジャーズの物語であることと結びつけられそうです!
花垣武道はシステム開発者
アニメや漫画をすでに知っている方はわかると思います。
主人公の「花垣 武道」はヒロインである「橘 日向」が何者かにより殺害される未来を過去のある時点に戻り、なぜこうなったのか、そして日向の殺害される未来を変えるために、何度も何度もタイムリープを繰り返し、未来を変えていく物語です。
このストーリー、システム開発と同じと思いませんか?(笑)
個人あるいはチームで開発する中で、仕様通りに動かないなどの問題が発生します。この問題がどの部分で発生したのか、このソースコードがまずいなど詳細がわかれば、その当時のファイル(過去)に戻り、ファイル(過去)を改変し再び開発を進めていきます。そして、開発を進めていくなかで、また問題発生….
そうですね、花垣武道はシステム開発者なのです!つまり、
東京リベンジャーズの主人公、花垣武道(システム開発者)
▽
ヒロインである橘日向の死ぬ現実(開発中に発生した問題)を、タイムリープし現実を変えるために過去を改変(リセットし修正ファイルをコミット)する
▽
開発中に発生した問題を解消する(開発完了!)
おわりに
GitとGitHubが何かをざっくりと理解できたかと思います!
実際の利用方法はいったん記事でまとめてないですが、これから順次使い方など公開できたらと思います!