- GitとGitHubとは?
- GitとGitHubの使い方は?
本記事ではこのような疑問を解決します。
エンジニアであればほぼ全員が使っているGitとGitHub。
GitとGitHubはソースコード管理や共同開発の場面でなくてはならない必須のツールです。
しかし、非エンジニアの方は、GitとGitHubのようなコード管理ツールに馴染みがないと思います。
そこで今回はプログラミング初心者の方やこれからエンジニアなる方のためにGitとGitHubについて解説していきます。
Gitとは?
まずはGitから説明していきます。
Gitとはバージョン管理システムです。
バージョン管理ステムとはデータをただ保存するだけではなく、「誰が」「いつ」「どのような変更をしたのか」の履歴を保存・管理できる仕組みのことです。
バージョン管理システムには以下のようなメリットがあります。
・上書きデータをダブることなく複数人で編集できる
データを上書きしてもそれぞれで保存されるため、上書きかぶりなどは起こらない
・過去の履歴のデータを復元できる
データを失ったり上書きをしたりしても過去のデータを復元できる
・コード上のコメントアウト(作業内容などをコード上に注記すること)の手間を減らすことができる
ファイルの変更内容はバージョン管理システムで記録されているため、余計なコメントアウトはいらなくなる
なお、バージョン管理システムには集中型と分散型というものがあります。
両者の違いを簡単に述べると、前者はデータ履歴をサーバー上で一括管理しますが、後者はサーバー上だけでなくローカル環境(個人のPC上)でも管理します。
Gitは後者の分散型バージョン管理システムに該当します。
分散型のメリットはデータ履歴を管理しているサーバーが落ちたり、ハッキングされたりしても、バックアップの役割を持つローカル環境で問題なく作業をすることができます。
そして、Gitにおいて重要になってくる概念として「リポジトリ」というものがあります。
リポジトリは直訳すると「倉庫」という意味なのですが、その名の通りデータの保管場所を指します。
Gitにおいてこのリポジトリはサーバー上のリモートリポジトリとPC上のローカルリポジトリの2つがあります。
基本的にリモートとローカルを行き来してデータを管理していくというイメージです。
GitHubとは?
GitHubとはGitの仕組みを利用してデータ(ソースコードなど)を公開するプラットフォームのことです。
つまり、Gitのところで出てきたリモートリポジトリにあたるものを提供しています。
世界中の人々はGitHubに自分の製作物などをアップして公開しています。
これによって様々な人がコードを編集できたり利用できたりするため、開発効率がグンと上がるのです。
GitとGitHubの関係
GitとGitHubの関係については、初学者の多くが疑問に思うところだと思います。
なので両者の関係を以下の図で簡単にまとめました。
つまり、Gitというツール(仕組み)を使ってリモートリポジトリにあたるGitHub上にデータをアップし、公開するという関係になります。
GitとGitHubの使い方
ここではGitとGitHubについて基本的な使い方を紹介します。
すなわち、ローカルリポジトリ(あなたPC上)で作成したファイルをリモートリポジトリ(サーバー上)へアップする一連の流れについて説明します。
以下の図に一連の流れをまとめたのでご覧ください。
GitとGitHubにおいてはこのようにローカルからリモートへデータをアップします。
そして、図の中にも出てきますが、これらの処理をするためにいくつかのコマンドをターミナルなどのシェルスクリプトで実行して一連の流れを遂行していくのです。
まとめ
○Gitとは?
・Gitとはバージョン管理ステムのこと
・バージョン管理ステムとはデータをただ保存するだけではなく、「誰が」「いつ」「どのような変更をしたのか」の履歴を保存・管理できる仕組みのこと
・バージョン管理システムのメリット
→上書きデータをダブることなく複数人で編集できる
→過去の履歴のデータを復元できる
→コード上のコメントアウト(作業内容などをコード上に注記すること)の手間を減らすことができる
・Gitはデータをサーバー上だけでなくローカル環境(個人のPC上)でも管理する分散型バージョン管理システム
・Gitには「リポジトリ」というデータの保管場所を指す概念があり、サーバー上のリモートリポジトリとPC上のローカルリポジトリの2つがある
・基本的にリモートとローカルを行き来してデータを管理していくというイメージ
○GitHubとは?
・GitHubとはGitの仕組みを利用してファイル(ソースコードなど)を公開するプラットフォームのこと
・GitHubによって世界中の人々が自分の製作物などを公開できたり、様々な人がコードの編集・利用したりして、開発効率が向上する
○GitとGitHubの関係
・Gitというツール(仕組み)を使ってリモートリポジトリにあたるGitHub上にファイルをアップし、公開するという関係
○GitとGitHubの使い方
・PC上(ワークツリー→インデックス→ローカルリポジトリ)からサーバー上(リモートリポジトリ)へデータをアップし、GitHubで公開する
ここまで読んできて、GitとGitHubについての理解は深まったのではないでしょうか。
まずは処理の流れなどを頭に入れることが大事になってきます。
ぜひ本記事を今後も参考にしてください。
最後までお読みいただきありがとうございました。