#GitHubとは
GitHubとは、Gitを利用した、開発者を支援するWebサービスの事です。
Gitを使ったバージョン管理や、Gitに関連する様々なサービスを提供しているものです。
GitHubと聞いて、バージョン管理するやつね。と言っていましたが、少し違うようです、、、
GitとGitHubは似ていますが、違うサービスなので混同しないよう注意しましょう。
#Gitとは?
対して、Gitとは一言で言うとバージョン管理ツールです。
バージョン管理ツールというのは、アプリケーションなどをアップデートする際に使用するものです。
アップデートする際に、本番環境をそのまま変更していると、使用しているユーザーのアプリケーションにエラーが起きてしまったり、正常に動作しないことが多々存在します。結果的にユーザーはこのアプリめっちゃエラーが出るということで離脱(使うのをやめる)したり、UX(ユーザー体験)を低下させてしまうことになり、ユーザーが逃げてしまうことになります。
そこで、途中経過を別の環境で実装し、実際にシステムが完成したら本番環境に移すということをやれるようになるのがGitです。
#Gitで何ができるのか?
Gitでは、先ほど言っていた**「本番環境」と「開発環境」**を分けての開発や、リモートとローカルでの開発を分けて考えることができ、他の人との共同開発が可能です。
例えば、Aさんがログイン機能を作っているときに、同時にBさんが投稿機能を作っているとすると、2人が同時に完成した時にAさんのコードにはBさんのコードが反映されていません。逆にBさんもAさんのコードが反映されていない状態です。そして、本番環境はどちらも反映されていません。※世界線が違うと思うと分かりやすいかもしれないです。
ここで、Aさんが本番環境にコードを移しました。ここで、本番環境にはAさんが作ったログイン機能は反映されていますが、Bさんが作った投稿機能は反映されていません。Bさんが本番環境に作ったコードを移すことで、初めて本番環境でログイン機能と投稿機能の両機能が反映されます。
さらに、Gitには削除などもすることができます。例えば、匿名の掲示板のようなアプリに作り替えようと思った際に、Aさんの作ったログイン機能はいらなくなります。本来ならば、ログイン機能のコード部分を消すなどをするのですが、Gitを使えばAさんが本番環境に移したものを消すというコマンド一つで終わらすことができるなど、開発の管理をとてもスムーズに快適にすることができるものです。
そして、今説明してきたAさんの作ったものを本番環境に反映させることや、Aさんが作った機能を削除する機能などに、それぞれ特殊な名称がついていて、それをGitコマンドを使って実行することができるものです。
#まとめ
GitHubとは、Gitを利用した、開発者を支援するWebサービスであり、
Gitとは、開発におけるバージョン管理ツールである。
最後に
最後までお読みになってくださりありがとうございます。もし、参考になったり、少しでも役に立った、良い記事だなと感じていただけましたら**"LGTM"**を押してくださるととても励みになります!!!お願いします!ポチっと押してくださいー!
この記事は、駆け出しエンジニアの筆者が自分のメモと理解向上のために、自分と同じ駆け出しエンジニアでも分かるように、分かりやすく解説することを目的とした記事です。誤った記載をしてしまうかもしれませんがご了承下さい。誤ってる際はコメントにてご指摘してくださると幸いです。
少しでも駆け出しエンジニアの方の力になれると幸いです。また、同じく駆け出しエンジニアの方々、一緒に頑張っていきましょう。
Twitterもやっているのでぜひフォローしてください→https://twitter.com/EngineerShige