GitとGitHubとは?基本的な使い方を解説【プログラミング初心者】

アイキャッチ画像
  • GitとGitHubとは?
  • GitとGitHubの使い方は?

本記事ではこのような疑問を解決します。


エンジニアであればほぼ全員が使っているGitとGitHub。

GitとGitHubはソースコード管理や共同開発の場面でなくてはならない必須のツールです。


しかし、非エンジニアの方は、GitとGitHubのようなコード管理ツールに馴染みがないと思います。

そこで今回はプログラミング初心者の方やこれからエンジニアなる方のためにGitとGitHubについて解説していきます。

Gitとは?

Git

まずはGitから説明していきます。

Gitとはバージョン管理システムです。

 
「バージョン管理システムって何?」

バージョン管理ステムとはデータをただ保存するだけではなく、「誰が」「いつ」「どのような変更をしたのか」の履歴を保存・管理できる仕組みのことです。


バージョン管理システムには以下のようなメリットがあります。

・上書きデータをダブることなく複数人で編集できる
データを上書きしてもそれぞれで保存されるため、上書きかぶりなどは起こらない

・過去の履歴のデータを復元できる
データを失ったり上書きをしたりしても過去のデータを復元できる

・コード上のコメントアウト(作業内容などをコード上に注記すること)の手間を減らすことができる
ファイルの変更内容はバージョン管理システムで記録されているため、余計なコメントアウトはいらなくなる

なお、バージョン管理システムには集中型と分散型というものがあります。

両者の違いを簡単に述べると、前者はデータ履歴をサーバー上で一括管理しますが、後者はサーバー上だけでなくローカル環境(個人のPC上)でも管理します。


Gitは後者の分散型バージョン管理システムに該当します。

分散型のメリットはデータ履歴を管理しているサーバーが落ちたり、ハッキングされたりしても、バックアップの役割を持つローカル環境で問題なく作業をすることができます。


そして、Gitにおいて重要になってくる概念として「リポジトリ」というものがあります。

リポジトリは直訳すると「倉庫」という意味なのですが、その名の通りデータの保管場所を指します。

Gitにおいてこのリポジトリはサーバー上のリモートリポジトリとPC上のローカルリポジトリの2つがあります。


基本的にリモートとローカルを行き来してデータを管理していくというイメージです。

GitHubとは?

GitHub

GitHubとはGitの仕組みを利用してデータ(ソースコードなど)を公開するプラットフォームのことです。

つまり、Gitのところで出てきたリモートリポジトリにあたるものを提供しています。


世界中の人々はGitHubに自分の製作物などをアップして公開しています。

これによって様々な人がコードを編集できたり利用できたりするため、開発効率がグンと上がるのです。

GitとGitHubの関係

GitとGitHubの関係については、初学者の多くが疑問に思うところだと思います。

なので両者の関係を以下の図で簡単にまとめました。

GitとGitHubの仕組み

つまり、Gitというツール(仕組み)を使ってリモートリポジトリにあたるGitHub上にデータをアップし、公開するという関係になります。

GitとGitHubの使い方

ここではGitとGitHubについて基本的な使い方を紹介します。

すなわち、ローカルリポジトリ(あなたPC上)で作成したファイルをリモートリポジトリ(サーバー上)へアップする一連の流れについて説明します。

以下の図に一連の流れをまとめたのでご覧ください。

GitとGitHubの処理の流れ

GitとGitHubにおいてはこのようにローカルからリモートへデータをアップします。

そして、図の中にも出てきますが、これらの処理をするためにいくつかのコマンドをターミナルなどのシェルスクリプトで実行して一連の流れを遂行していくのです。

まとめ

○Gitとは?

・Gitとはバージョン管理ステムのこと

・バージョン管理ステムとはデータをただ保存するだけではなく、「誰が」「いつ」「どのような変更をしたのか」の履歴を保存・管理できる仕組みのこと

・バージョン管理システムのメリット
 →上書きデータをダブることなく複数人で編集できる
 →過去の履歴のデータを復元できる
 →コード上のコメントアウト(作業内容などをコード上に注記すること)の手間を減らすことができる

・Gitはデータをサーバー上だけでなくローカル環境(個人のPC上)でも管理する分散型バージョン管理システム

・Gitには「リポジトリ」というデータの保管場所を指す概念があり、サーバー上のリモートリポジトリとPC上のローカルリポジトリの2つがある

・基本的にリモートとローカルを行き来してデータを管理していくというイメージ

○GitHubとは?

・GitHubとはGitの仕組みを利用してファイル(ソースコードなど)を公開するプラットフォームのこと

・GitHubによって世界中の人々が自分の製作物などを公開できたり、様々な人がコードの編集・利用したりして、開発効率が向上する

○GitとGitHubの関係

・Gitというツール(仕組み)を使ってリモートリポジトリにあたるGitHub上にファイルをアップし、公開するという関係

○GitとGitHubの使い方

・PC上(ワークツリー→インデックス→ローカルリポジトリ)からサーバー上(リモートリポジトリ)へデータをアップし、GitHubで公開する

ここまで読んできて、GitとGitHubについての理解は深まったのではないでしょうか。

まずは処理の流れなどを頭に入れることが大事になってきます。

ぜひ本記事を今後も参考にしてください。

最後までお読みいただきありがとうございました。