GitHubとは?使い方や知っておきたい知識を解説!
公開日:2019.07.07 最終更新日:2020.12.18
スキルアップ今や開発者にとって欠かせない存在といっても過言ではないのが「GitHub(ギットハブ)」。これは、世界中の人々がプログラムコードやデザインデータを保存・公開できるソースコード管理サービスのことです。
現在ではプロジェクトで使用することも増え、使えることが前提というものも多くなってきました。そこで今回は、GitHubとはどんなものか、インストールの方法から実際のコマンドの使い方までを解説していきます。
GitHubとは
GitHubという言葉を分解すると、git(ギット)のhub(ハブ)。日本語で「拠点」の「集まり」と訳すことができます。
GitHub上で、エンジニア各々が公開用のプログラムをアップして自分以外のエンジニアに共有。その後、履歴を残しながら更新したり、自分以外のエンジニアも修正を加えることが可能です。
https://desktop.github.comそもそもgitとは
CUIツール(コマンドラインツール)の一種であるgitは、ソースコードのバージョンをいつ誰がどこを編集したのか、最新のバージョンはどれになるのか、などを管理するツールとして作られました。
ソースコードの管理にはSubversion(サブバージョン)などのメジャーなツールが他にもあります。Gitの特徴は、ソースコードの記録や追跡などのバージョン管理が「分散型」であること。ソースコードのロールバックが簡単になったり、修正履歴を整理してログに残したりが簡単で、エンジニアがより便利に使うことができるのです。
ベースは無料で使うことができる
GitHubは、企業や個人を問わずにベースとなる部分は無料で使うことができます。GitHubに作成されたリポジトリ(保存するスペース)は、基本的にすべて公開することになりますが、指定したユーザーだけがアクセスできるプライベートリポジトリを作成することもできます。
Gitのインストール方法
GitHubは、このGitのリポジトリをまとめたサービスです。そのため、GitHubを使う際は、まずGitのインストールが必要です。
Windowsの場合インストーラがありますので、次のサイトよりダウンロードしてインストールしてください。
https://gitforwindows.orgMacの場合、ターミナルで次のコマンドを打つことでインストーラが起動します(Gitをインストールしている場合、バージョン番号が出力されます)。
git --version
GitHubを使い始める前に知っておきたい知識
これからGitHubを使い始める前に知っておくと便利な知識を6つにまとめました。専門的な用語や操作方法を事前に知っておけばスムーズにGitHubを使うことができます。
ローカルリポジトリとリモートリポジトリ
リポジトリは、ファイルやディレクトリの状態を保存するスペースのようなものです。管理したいディレクトリをリポジトリと連携させることで、そのディレクトリ内のファイルの変更履歴を記録し、保存していくことができます。
リポジトリは自分のPC内に記録される「ローカルリポジトリ」と、ネットワーク上に存在する「リモートリポジトリ」の2つがあります。ローカルリポジトリで作業を行ったものを、リモートリポジトリへプッシュする流れが基本的な方法となります。
なお、リモートリポジトリはGitHub上で作成が可能です。ローカルリポジトリについては、GitHub上で作成したリモートリポジトリをクローンする形で作成するのが一般的です。
クローン(clone)
リモートリポジトリをローカルにダウンロードするコマンドです。その時の最新版のデータと変更履歴などがまとまっていますので、クローンしたタイミングのリモートリポジトリと全く同じ環境をローカルに作成します。これにより、他の人の影響を受けずに自分のPCで作業ができるようになります。
ブランチ(branch)
ブランチとは、作業を分岐させて履歴の流れを保存していく方法のことをいいます。 分岐されたブランチは他のものの影響を受けないので、1つのソフトウエアに対して複数のメンバーが同時に、バグの修正や新たな機能追加を行うことができます。
おおもとのデータがあれば、修正されたブランチをマージ(導入や合流)させることで、ファイルを一から作り直すことなくさまざまな修正を行うことが可能です。
コミットとプッシュ(commit / push)
コミットとは、ファイル追加や変更の履歴をリポジトリに記録することです。プッシュはファイル追加や変更の履歴をリモートリポジトリにアップする操作のことをいいます。
なお、コミット前に修正したファイルをアッド(add)する必要があります。Gitは、まず仮の保管場所に変更したファイルをまとめ、それに名前をつけてパッケージにするという手順をとります。この仮の保管場所に保存するコマンドがアッド、名前をつけてパッケージにするコマンドがコミットです。
プルリクエスト(Pull request)
プルリクエストとは、自分が行った変更をオリジナルのものに反映させたいというときに使う通知方法です。オリジナルのオーナーにプルリクエストを通知することができます。
なお、プルリクエストの処理は、GitHub上で行うことが可能です。ブランチに対してプッシュを行った場合、GitHubで該当のリポジトリの画面を開くと、「Compare & pull request」というボタンが出ています。このボタンを押下することで、プルリクエスト作成画面に移行できます。
フォーク(fork)
フォークは、食事をするときに使うフォークの先端のように、複数に分派した他の人のプロジェクトのリポジトリをコピーして、自分のものを改変していくことを指します。
オリジナルのファイルに対する編集アクセス権がない場合でも、自分の場所に取り入れることによって編集できるようになります。
GitHubの使い方
GitHubを使うためには、アカウントを作成する必要があります。登録方法をはじめ、リポジトリの作成、ファイルの作り方・編集方法についてステップ別に解説します。合わせて、作業工程の流れを表すブランチについても使い方をご紹介します。
より詳細な使い方は、実際にGitHubを使いながら習得して慣れることが一番ですが、GitHub特有の概念や大まかな流れを知っておきましょう。
ステップ別GitHubの使い方
GitHubは次のような流れで使うことができます。
- 使い方①GitHubのアカウント作成方法
- 使い方②リポジトリの作成方法
- 使い方③ファイルの作成と編集
使い方①GitHubのアカウント作成方法
まずは、GitHubにアクセスしてアカウント登録を行います。メールアドレスとユーザー名、パスワードを入力したら、プランを選択します。
https://github.com/join有料のプランも用意されていますが、あとで変更もできるため、初めは無料で使えるFreeプランを使ってみましょう。「free」⇒「Continue」ボタンの順にクリックすれば、Freeプランを選ぶことができます。
あとは登録したメールアドレスに届く認証メールの内容に従い、ユーザー認証を行えばGitHubのアカウント登録は完了です。
使い方②リポジトリの作成方法
リポジトリを作成するには、GitHubにログインした状態で「New Repository」ボタンをクリックする必要があります。その後に表示される画面で、リポジトリ名を「Repository name」に入力していきます。
同ページにある「Description」には、このリポジトリの内容や情報を入力してください。
以上の操作が終わったら、リポジトリの種類が「Public(公開)」「Private(非公開)」の2つあるため、公開するのか非公開にするのか選択することができます。
READMEファイル(このリポジトリを他の人がみたときに分かりやすいような説明を書く部分)を作成しておきたい場合は、「Initialize this repository with a README」という個所にチェックを入れましょう。READMEファイルはあとから追加もできるので、保留にしておいても問題ありません。
最後に「Create repository」をクリックすることでリポジトリを作成することができます。
使い方③ファイルの作成と編集
ここではHTMLファイルの編集方法を例に挙げて説明します。
まずはHTMLファイルを用意することから始めます。「Create new file」というボタンをクリックすることで、入力欄にファイル名を登録することができます。
ファイル名を入力する「Edit new file」の欄には、HTMLのコードをペーストします。あとは自由にコードを入れ替えるなど編集しましょう。
ブランチの使い方
英語で枝という意味を示すブランチは、作業工程の流れを示します。あるゴールのために必要な工程をブランチで表し、作業内容によってはブランチを分割したり、まとめたりします。ブランチを使う際は基本的なパターンが決まっています。
例えば新しい機能を開発、追加するためにブランチを切る、新しく作成したブランチ内で開発を行いコミット(保存)するという流れが代表的です。また、1つの機能の開発が完了したタイミングで、プルリクエストを作成する・コードレビューを行う・問題がなければプルリクエストが承認され、マージされるという用い方をします。
次に、頻度が高いブランチの使い方について詳しくご紹介します。
新しい機能を開発、追加するためのブランチを切る
複数の機能を同時に開発するときは、開発する機能ごとに新しくブランチを切り(修正と追加の作業を分ける)、それぞれを平行して行う作業が必要になります。基本的にブランチごとにレビューをすることになるので、混合されてしまっているブランチはNGです。
新しく作成したブランチで開発を行いコミットする
ファイルやディレクトリの変更や追加を行うときに記録することをコミットといいます。ブランチする際は、コミットはなるべく細かく行い、作業が複雑になってしまわないように、1つの修正には1つのコミットにしましょう。
1つの機能の開発が完了したタイミングで、プルリクエストを作成する
GitHubではコードレビュー(コードに問題がないか確認する作業)とマージを管理するためにプルリクエストを行います。プルリクエストを行うたびにコードレビューをするのが一般的とされているため、マージするかどうかをプルリクエスト後に決定されることがほとんどです。
masterブランチを使う
masterブランチはリポジトリ作成時に自動で作成されるブランチで、多くのプロジェクトでは安定版ソースコードを保管する形で利用されています。このmasterからブランチを切って作業を行い、プルリクエストでmasterにマージするという形をとります。
例えば、masterブランチをメインとし、ここに機能Aを追加したい場合、次のような流れになります。
- masterブランチをクローンする
- クローンしたローカルリポジトリで、機能開発用のブランチを作成する
- 作成したブランチで開発を行う
- 開発が完了したら、すべてコミットする
- コミットしたデータをプッシュする
- プッシュしたデータを確認してプルリクエストを送る
- プルリクエストをもらったmasterの管理者は、内容を確認の上、masterにマージする
場合によってはプルリクエストを確認して、管理者が差し戻しをする場合もあります。この場合、修正を行った上で再度コミットし、プルリクエストを送信します。
無事プルリクエストが通ると、晴れてmasterブランチにマージされ、追加した機能が公開されることになります。
今後ますます必要とされるGitHub
以上、GitHubの概要や、知っておくと便利な知識、使い方について解説しました。
今回は、あくまで基礎的な知識の紹介となりましたが、さまざまなgitコマンドを覚えていけばより高度なことが行えるようになります。一見難しそうなGitHubですが、覚えてしまえば誰でも簡単に使えますので、このページを参考にチャレンジしてみてください。
(2020年12月現在)