非エンジニアからみる「GitHubってなんだ?」
昨今はチームでゲームをつくるのに”GitHub”なるものを使うことが多いらしいです。 現在、私も非エンジニアとしてGitHubを使う機会があるのですが、これがよく分からない…
ということで、今回は非エンジニアからみると何をしているかイメージすら持て無いGitHubについて自分の勉強がてら解説してみます。
今回の目標
- 非エンジニアでもGitHub上でどんなやりとりをしているかイメージできるようになること
GitHubってなんぞや?
GitHubは、Gitのホスティングをしてくれるサービスだよ。
< Web制作者のためのGitHubの教科書 より >
なんなんですかね、Git。
※ホスティングサービス=顧客が自前の設備などを持たずにインターネット上で情報やサービスを配信するのをサポートするサービス
Gitとは、バージョン管理システムと呼ばれるソフトウェアの一つである。
< Web制作者のためのGitHubの教科書 より >
バージョン管理システムってなんだよ。分からない言葉を分からない言葉で説明するなよ。
とは言え、バージョン管理は簡単な話です。下の画像を見てください。
このように無秩序にファイルを管理してしまい、どのファイルが最新なのか、いつ何の変更をしたかが分からなくなった経験はありませんか? バージョン管理システムは、この問題を解決するためのシステムなのです。
つまり!以上を統合すると、
GitHubとは、世の中にある複数の「バージョン管理システム」の内の1つである「Gitというソフトウェア」をインターネット上でお客さんに使ってもらうためのサービスである訳です。
GitHubでは、どんなやりとりが行われるの?
GitHub上ではかなり色々なことが出来るようですが、今回はど基本だと思われる操作のイメージだけお伝えします。
基本の3操作
- git add
- git commit
- git push
上のイメージ画像を参考に読み進めて下さい。
まず操作イメージとしては、あなたの机の上(PCでの作業中のフォルダ)で複数のファイルを変更しているとします。
そして、作業があらかた終わったら変更したものをインターネット上(Github上のリポジトリ)に送るための準備をします。 送るためには一度封筒に変更したものをまとめなければなりません。なぜなら、複数の変更したものを別々に送るのは送り手も受け手も面倒だからです。 封筒の封を糊付けする前ならば、机の上と封筒の間ではファイルのやりとりができます。ここでファイルの入れ忘れを防ぎます。 今回は、aaa.xlsxとccc.docxの2つのファイルを変更したので、この2つを封筒に入れます。これが、①git addの操作です。
そして、ファイルの入れ忘れがないことを確認したら、封筒を糊付けして封をします。ここで変更が確定されます。この操作が②git commitです。
ここまではあくまで自分のパソコン上で完結した作業でしたので、封をした封筒をインターネット上に送り、インターネット上で反映させなけばなりません。 この操作が、③git pushです。git pushが成功すれば基本操作は終了です。
まとめ
ここまで、なんとかGitHubについて学んできました。理解があっていれば、なんとかイメージできましたね! イメージを掴むことを優先したので、より具体的な使い方について知りたい方は後述の参考文献で調べてみてください。
また、そこ理解が間違ってるよ!ってのがありましたら、是非教えて下さい!
参考文献
Amazon.co.jp: Web制作者のためのGitHubの教科書 チームの効率を最大化する共同開発ツール: 塩谷 啓, 紫竹 佑騎, 原 一成, 平木 聡: 本