Gitとは?Githubって何?初心者向け解説!
はじめに
そんな方の参考になれるように記事を書きました。
よく耳にするGitやGithubについてどういうものなのか、簡単に解説していきます。
Gitとは
Git(ギット) とは、分散型バージョン管理システムです。
Gitを用いてバージョン管理をすることで、コード編集をする度にいちいち日付やファイル名を変更してファイルを更新しなくても、簡単にファイルの編集履歴を管理することが出来ます。
そのため、Gitはプログラミングやコーディングには欠かせないツールとなっています。
バージョン管理システムとは
バージョン管理システムとは、ファイル等のバージョン管理するものです。
ファイルをただ保存するだけでなく、誰がいつどの箇所を編集したのかの履歴を記録、管理していくことができます。
そのため、もし以前のバージョンに戻したいとなった場合でもすぐにその変更が加えられたバージョンの前に戻すことが出来ます。
このように、変更内容を毎回記録しておくことで、ファイルの扱いやすさを向上させることができます。
Gitのメリット
Gitは主に以下のようなメリットがあります。
複数人で1つのファイルを編集できる
Gitを使うことで、複数人で1つのファイルを編集できます。
この複数人で1つのファイルを編集できることは、Gitを使う上で一番のメリットとなリます。
Gitを使うことでファイルが別の人に上書きされたり、編集内容がバッティングすることなく編集することができるようになります。
また、編集した履歴を複数人で共有したり、複数人で修正したものを一つに統合することができます。
過去の履歴データにアクセスしたり復元することができる
Gitを使うことで、過去の履歴データにアクセスしたり復元することができます。
Gitはそれぞれバージョンを管理しているので、更新の度にファイルが蓄積されます。
コーディングをしていると、バグが発生した際に過去のバージョンに戻したいことが多々あります。
そういった時でも、過去のバージョンに簡単に戻すことができます。
また、過去のバージョンに戻さなくても履歴ファイルは見ることができるため、過去にどういったコードの修正があったのかも簡単に見ることができます。
新旧のファイルを一元管理することができる
Gitを使うことで、新旧のファイルを一元管理することができます。
それぞれ複数人で複数のファイルを扱うとどれが最新のデータで、それがどこにあるのかが煩雑になってきます。
しかし、Gitを使うことでGit上に常に最新のファイルがあるため、迷うことがなくなります。
新旧のファイルを一元管理することで、過去の変更履歴も見ることができ、そして、常に必要なファイルが常に最新の状態でGit上にあるので分かりやすくなるメリットがあります。
リポジトリ(repository)とは
リポジトリ(repository) とは、データを保存しておく場所のことです。
ちなみに、repositoryは貯蔵庫という意味です。
リポジトリには以下の2種類があります。
リモートリポジトリとは
リモートリポジトリとは、Github等のサーバー上に作られるリポジトリで、基本的に1つのプロジェクト毎に1つ作られます。
サーバー上に作られるメインのリポジトリとなり、作業者はローカルリポジトリで作業したら最終的にこのリモートリポジトリにデータを保存していくことになります。
そのため、リモートリポジトリは常に最新の状態となります。
ローカルリポジトリとは
ローカルリポジトリとは、各個人のPC上に作られるリポジトリで、作業者の数だけ存在します。
基本的に作業したら自分のローカルリポジトリに保存し、その後、ローカルリポジトリを経由してリモートリポジトリにデータを保存します。
何故、ローカルリポジトリが必要なのか
ローカルリポジトリを作らず、そのままリモートリポジトリで作業すれば良いと思うかもしれませんが、ローカルリポジトリを作ってそこで作業したり保存することは必要です。
理由は主に以下の2つがあります。
リモートリポジトリはサーバー上にあるため、もしサーバーが落ちたりしてアクセスが出来なくなると、その時点で作業ができなくなってしまいます。
また、もしリモートリポジトリが何かあって壊れてしまった場合でも、ローカルリポジトリがあれば復元することができます。
すなわち、ローカルリポジトリがあることでバックアップの役割も兼ねています。
ちなみに、バージョン管理システムにおけるこの仕組みのことを「分散型」と呼びます。
Githubとは
Githubとは、Gitと連携してプロダクト開発を支援する仕組みを提供しているWEBサービスです。
先程、リモートリポジトリの話でもあったようにgitを使うためにはリモートリポジトリが必要となります。
そのリモートリポジトリを提供してくれるのが、Githubになります。
Githubにアカウント登録をすることで、リモートリポジトリを使うことが出来るようになります。
Githubの類似サービス
Github以外にも類似サービスとして「Gitlab」や「Bitbucket」というサービスもあります。
これらも、Githubと同様にGithubにアカウント登録をすることで、リモートリポジトリを使うことが出来るようになります。
最後に
いかがだったでしょうか?
GitやGithubはコーディングには欠かせないツールになっています。
個人のプロジェクトや学習の時でも是非、Gitを活用してみてください。
Discussion