
「GitHubの使い方がわからない」「GitHubってそもそも何に使うの?」
本記事はこのような疑問を持った方が対象となります。
GitHubは多くのIT企業で導入されている有名なツールです。しかし、利用したことがない人にとっては機能が複雑で、手を出すのに戸惑うことも多いのではないでしょうか?
そこで本記事では、GitHubの基本的な使い方に絞って解説します。GitHubを使う場合まず覚えたい知識をまとめました。具体的には「GitHubとは?」「GitHubアカウントの作成方法」「GitHubでファイルを更新する方法」について解説しています。
本記事を読むことで、GitHubを学ぶスタート地点に立つことが可能です。基本的な使い方さえ分かってしまえば、後は細かい機能を抑えていくだけであり、そこまで難しくありません。GitHubの使い方が分からない方は、ぜひ本記事を参考にしてください。
GitHubとは?
GitHubはGitを誰でも簡単に使えるようにと開発されたサービスです。
GitHubは主にチームでのソフトウェア開発に使われ、ソフトウェア開発で扱うソースコードなどのファイルを共有管理します。その他、タスク管理ツールやメモ書き(README)などの機能を扱うことが可能です。また、GitHubは作成したソフトウェアを外部に公開するためにも使われます。公開されたソフトウェアはダウンロードして自分のパソコンで扱うことが可能です。
また、オープンソースとして公開されたソフトウェアの場合、ソースコードを改良して別のソフトウェアを開発し、それを自分もGitHubに公開することができます。GitHubは有料プランもありますが、無料でも基本的な機能は使うことが可能です。
GitHubを使う前に知っておくべきこと
Githubを使う前にいくつか、知っておきたい知識があります。知っておきたい知識として、具体的に次の言葉の意味について解説していきます。
- バージョン管理
- Git
- リポジトリ
- コミットとプッシュ
- ブランチ(branch)
- インデックス(index)
これらの単語の意味を理解すると、GitHubがどういったものか理解が深まります。
バージョン管理
バージョン管理とは、ソフトウェア開発内で扱うファイルの変更履歴を記録することを意味します。
ソースコードが代表的な管理対象ですが、設定ファイルや設計書、XMLファイルなども含まれるでしょう。ファイルの変更履歴を記録することには次の意味があります。
- システム変更が原因で売上やユーザー数などに影響があったか調査するため
- 問題発生時に変更前の状態にファイルを戻すため
- ファイルの変更者が誰なのか明らかにするため
変更履歴を記録することで、何時の段階でどの機能が変更されたか明らかになるため、急に売上やユーザー数が減少した場合、その機能の変更が原因であることがすぐに突き止められます。また、ソフトウェア開発で障害が発生した際に変更前の履歴が残っていれば、すぐにファイルを元に戻すことができ障害時の被害を最小限に食い止めることが可能です。
更に、履歴を記録することでチーム開発ではファイルの変更者が誰か明らかになり、障害発生時などに責任の所在を確認することができます。特に大規模なソフトウェア開発の場合、バージョン管理は必要不可欠と言って良いでしょう。
Git
Gitとは、バージョン管理を行うためのツールのことです。
Gitを使うことでソースコードなどのバージョン管理を効率的に行うことができます。Git以外にもバージョン管理ツールは多数存在しますが、現在ではGitが圧倒的なシェアを誇っています。Gitが人気の理由は、Gitが「分散型バージョン管理システム」であることが大きいです。Gitは次のような仕組みとなっています。
- Gitは、開発者それぞれの保管場所と、チーム全体の作保管場所を用意する
- 開発者は専用の保管場所に、途中まで修正したソースコードをアップする
- 全ての修正が完了したら、チーム全体の保管場所にソースコードをアップする
こういった仕組みであるため、複数の開発者が同時に1つのソースコードを修正しても修正内容が競合する心配がなく、チーム間で情報共有する手間を省くことができます。このように保管場所が分散されているため、Gitは分散型と呼ばれているのです。
リポジトリ
リポジトリはGit内のファイルの保管場所を指します。
Gitには次の2つの保管場所が用意されています。
- リモートリポジトリ
- ローカルリポジトリ
リモートリポジトリはチーム全体の保管場所、ローカルリポジトリは開発者それぞれの保管場所です。開発者はローカルリポジトリにまずアップしその後リモートリポジトリにアップするというのが、GitやGitHubを使う基本的な流れとなります。
コミットとプッシュ
コミットとは、ファイルを修正(新規作成)してローカルリポジトリにアップすることです。
プッシュとは、ローカルリモートリポジトリのファイルをリモートリポジトリにアップすることです。
GitHubではそれぞれ以下のコマンドを使用します。
- git commit:ファイルをコミットする
- git push:ファイルをプッシュする
ブランチ(branch)とは
ブランチ(branch)とは、1つのファイルに対して2種類以上の変更履歴を作ることです。
たとえば、変更Aと変更B、変更C……を用意することができます。GitHubにはこのブランチ機能があることで、2人以上が1つのファイルを同じ時間に変更することが可能です。ブランチ機能がないと、1人が変更したファイルをもう1人が上書きしてしまう恐れがあります。
インデックス(index)とは
インデックス(index)とは、コミットする準備を行うための作業場所のことです。
GitHubでは、ローカルリポジトリに記録する前に一旦インデックスに記録する必要があります。つまり、GitHubでファイルを変更する場合は、
- インデックスに記録
- ローカルリポジトリに記録
- リモートリポジトリに記録
という3つの工程を踏む必要があるのです。一見面倒なようですが、インデックスに登録することでどのファイルがGitHubの管理対象か分かるメリットがあります。GitHubでは以下のコマンドを使います。