GitHub(ギットハブ)とは?機能と使い方のポイントを伝授
「GitHub(ギットハブ)という言葉を聞くけどなんのことがわからない…」
「GitHub(ギットハブ)とはなんのために使うものなのだろうか」
と思うことはありませんか?
GitHubについて調べようとしても、専門用語が多すぎて意味がわからず、どうすれば理解できるかで迷ってしまいますよね。
では、GitHubはどのようなものなのでしょうか?
そこで今回は、
- そもそもGitHubとは?
- GitHubはなんのために使うのか
- GitHubの基本的な使い方
について詳しく解説します。
この記事を見れば、初心者でもGitHubの概要が必ずわかるため、エンジニアの会話についていけたり、IT系の就職を目指すきっかけをつかめます。
ぜひ最後まで読んでみてくださいね。
GitHub(ギットハブ)とは
IT界隈でよく耳にするGitHubとはどのようなものなのでしょうか。
結論を先にいいますと、GitHubとは、エンジニアが主に使う「ソースコード管理のためのツール」です。
そこで、下記の内容を解説していきます。
- そもそもGitHubとは?:ソースコード管理のツール
- GitHubでできることは?
- GitHubはなんのために使うのか?
- Gitとは?:分散型バージョン管理システム
- GitHubとGitとの違いは?
- GitHubが人気な理由と類似サービスとの違い
最初に「GitHubとは」から解説しますので、順番に読み進めてみてください。
1.そもそもGitHubとは?:ソースコード管理のツール
GitHubとは、後述する”Git”を用いたソースコード管理のためのツールです。
意味はその名のとおり、”Git”の「ハブ:拠点・中心・集まり」となります。
特徴としては、
- GitHub社によって運営されており、個人・企業問わず無料で利用が可能
- GitHub内に登録されたものは基本すべて公開される(限定公開も可能)
- wiki(メモ書き)やタスク管理ツールなど、コラボレーションのための機能もある
このように、無料で利用でき、登録だけでなくコラボレーション機能も有していることがGitHubの特徴です。
2.GitHubでできることは?
GitHubを使うことで、リビジョン管理およびソースコード管理が可能となります。
具体的には下記です。
- リビジョン管理:前の修正内容を確認したり、ある時点の内容に戻すことが可能
- ソースコード管理:開発の課題や、ソースコードのチェック結果を共有することが可能
このように、GitHubでは履歴を追えることでバグが埋め込まれたバージョンを速やかに確認したり、プロジェクトの課題や進捗を確認することができます。
GitHubを活用することで「オンライン上のコミュニケーション」が円滑になります。
とくに現代では、リモートワークが普及しつつあるため、GitHubのようなツールを活かすことの意義は日に日に高まっています。
仕事上のコミュニケーションは突き詰めて損をするものではないので、この機会にGitHubを理解しておくことも検討しておくべきでしょう。
仕事上のコミュニケーション上手とは!求められる3つの能力や10個の改善方法を紹介3.GitHubはなんのために使うのか?
GitHubを使う目的は、ひとことでいいますと「ファイルの履歴を管理するため」となります。
というのも、開発において履歴を管理できないと、だれがいつどんな変更をしたかがわからず、登録されたデータの素性が不明となってしまうからです。
たとえば、
- とあるファイルの最新版がどれなのかわからない
- とある変更がされているが、だれがなんのために変更したのかわからない
- ある時点の状態に戻りたいが、履歴管理していないので戻れない
このようなことがないようにするために、GitHubは使われるのです。
4.Gitとは?:分散型バージョン管理システム
Gitとは分散型のバージョン管理ができるツールです。
“分散型”とは具体的には以下となります。
- 個人のPCに変更の履歴を溜められる
- 溜めた個人の変更履歴を一気にサーバーにあげられる
- ネットにつながっていなくても個人の変更履歴を管理できる
このように、個人PCで変更履歴を管理したのちに、それらを一気にサーバーにアップできるのが分散型バージョン管理システムです。
そして、Gitは分散管理型のツールなのです。
5.GitHubとGitとの違いは?
GitHubとGitというワードがあり、なにが違うのかという話になりますが、違いは以下となります。
- Gitとは、バージョン管理ができるもの
- GitHubとは、Gitというサービスを使いやすくしたサービスであること
そして、”使いやすくしたサービス”とは、
- だれかがおこなった変更を事前にチェック可能なサービス
- 変更内容をまとめてひとつにできるサービス
- だれかのコードをコピーし、それに変更をおこなうまでの手間が少ないサービス
このように「Gitを使いやすくしたのがGitHub」であり、かつ「複数人での開発がやりやすいサービスが入っているか否か」がGitHubとGitの違いになります。
6.GitHubが人気な理由と類似サービスとの違い
GitHub以外にも、BitbucketやGitLabといったバージョン管理ツールがあります。
それでもGitHubが人気な理由は下記となります。
- 類似サービスと同様に、無料で登録データを非公開できるようになったから
- ユーザによるコミュニティ活動が活発だから
- Microsoft社に買収されたことで、より先進的な機能が追加され続けているから
このようにGitHubは、類似サービスと同等以上の機能をもち、ユーザのコミュニティ活動も活発であることから、バージョン管理ツールの中でも人気があるのです。
また、GitHubを理解すれば、プログラミングに関する学習がしやすい環境が作れるようになります。
もし当記事をご覧になっているあなたが、需要急上昇中のIT業界に転職・就職を考えている方は、【DMM WEBCAMP】でプログラミング学習をすることをおすすめします!
国内最大規模プログラミングスクール【DMM WEBCAMP】は、未経験者向けのカリキュラムやライフコーチによる学習サポートなど、安心して学習が続けられる環境が整っています。
3つのコースから学習スタイルを選ぶことができるので、是非あなたに合った学習方法でIT業界の転職・就職の夢を実現させてください!
自分の理想の働き方を実現させませんか?
✔︎自分が働いている業界の将来性が不安…
✔︎安定した仕事に就きたい
✔︎スキルアップして、必要とされる人材になりたい
こんな思いを持つあなたに、【DMM WEBCAMP】では無料のキャリア相談を実施しています!
今後のキャリアをプロのキャリアアドバイザーと一緒に考えましょう!
GitHub(ギットハブ)を使う際に知っておきたい知識とは
GitHubを使う際には、いくつかの専門用語を知る必要があり、具体的には下記となります。
- リポジトリ
- ローカルリポジトリとリモートリポジトリ
- コミットとプッシュ
- ブランチ
- インデックス
このように、GitHubでバージョン管理する際には、コードの登録場所に種類があり、登録の仕方も決まっており、それぞれに専門用語が存在するのです。
以降で詳細を解説していきます。
1.リポジトリ
リポジトリとは、英語で「貯蔵庫」「収納庫」の意味であり、GitHubでは以下の意味となります。
- ファイル、変更履歴を置く場所である
- ソースコードや設計、データの仕様といった情報が保管されているデータベースである
- ローカルリポジトリとリモートリポジトリの2種類がある
このように、リポジトリとは、登録したいデータを置く場所そのもののことなのです。
2.ローカルリポジトリとリモートリポジトリ
リポジトリには、ローカルリポジトリとリモートリポジトリがあり、違いは以下となります。
- ローカルリポジトリ:自分のPC内のリポジトリ。オフラインでも履歴管理が可能
- リモートリポジトリ:最終的なデータが置かれる場所。ローカルリポジトリの内容も最終的にここに反映される
- 基本はローカルリポジトリで作業し、どこかのタイミングでそれをリモートリポジトリに反映するのが常
このように、ローカルリポジトリは自分のPC内のリポジトリであり、リモートリポジトリはサーバー内のリポジトリとなります。
3.コミットとプッシュ
コミットとプッシュは、リポジトリ内にデータを登録することを意味し、使いわけは以下となります。
- コミット:ローカルリポジトリ内に変更内容を登録すること
- プッシュ:ローカルリポジトリの変更履歴および内容をリモートリポジトリに登録すること
- プッシュは変更内容のチェックを受けてからおこなうのが一般的であること
このように「自分のPC内でコミットを複数回おこないながら変更を加え、どこかのタイミングでそれをプッシュする」という使い方をします。
4.ブランチ
ブランチ(branch)とは、枝分かれを意味し、複数人で並列に作業をおこなう際に使用される機能です。
具体的にいいますと、以下の流れで使用されます。
このように、担当者ごとに自分の作業環境を用意するために使うのがブランチ機能となります。
5.インデックス
インデックスとは、変更しているファイルと、ローカルリポジトリの間に存在しているものです。
具体的にいいますと、以下の流れで使用されます。
このように、Gitでは変更対象の成果物とローカルリポジトリの間にはインデックスが存在します。
そして、インデックスとは、リポジトリにコミットする準備をするための場所のことなのです。
GitHub(ギットハブ)が支持を集める3つの機能とは
GitHubには、バージョン管理機能だけでなく、開発を円滑に進めるための機能があります。
具体的には下記の3つです。
- フォーク:GitHub上の環境を自分のPCに入れる機能
- プルリクエスト:自分の変更を他者に通知する機能
- マージ:分岐した履歴を合体する機能
このように、変更内容の通知や合体など、実際の作業を想定した補助機能があるのです。
以降で詳細を解説していきます。
また、下記記事ではIT系全般の用語を網羅しています。
GitHub以外のIT用語にも不安を感じている方は、あわせてこちらもご参照ください。
1.フォーク:GitHub上の環境を自分のPCに入れる機能
ひとつのプロジェクトが複数にわかれていくのを、食器のフォークの先端に例えているのが名称の所以です。
そして、具体的な内容は以下となります。
- 他者が登録したコードをほかの人がコピーすることが「フォークを使う」という意味であること
- もとのコードを変えることなく、自分のところで改変が可能であること
- フォークをつかうことで、他者の資産をベースに自分本位のサービスを作ることができること
このように、他人のプロジェクトを自分のアイデアの出発点として使用するために使用されるのがフォーク機能です。
2.プルリクエスト:自分の変更を他者に通知する機能
プルリクエストとは、自分のコードの変更を他者に通知し、変更内容をチェックしてもらう際に利用する機能です。
というのも、
- 自分の変更作業がひととおり完了したことを他者に知ってもらえるから
- ひとりで作ると気がつかないコードのバグや記述ミスを発見できるから
- もしバグが発見されないまま登録されると、それを元に変更を加える人も困ってしまうから
このように、自分の変更をあらかじめ他者にチェックしてもらうことで、登録されたコードの品質を保つために使われるのがプルリクエスト機能なのです。
3.マージ:分岐した履歴を合体する機能
マージとは、分岐した環境を統合する手段として利用されます。
具体的にいいますと、以下のときに使用される機能です。
- ブランチされた環境をひとつの環境(ブランチ元の環境)に戻すとき
- プルリクエストの後に自分の変更を正式に登録するとき
このように、マージ機能は、おもにブランチにより分岐した環境をブランチ元の環境に戻す際に使用されます。
とくに、複数人での開発では、人数分のブランチを切ることが一般的であることからマージ作業が発生するのが常です。
ちなみに需要が高まっている「ITエンジニア」は、こういった用語が頻繁に使われることがあります。そのため、もしこの記事をごらんのあなたが皆様の中には「ITエンジニア」を目指すことを視野に入れているのであれば、覚えておいて損はないでしょう。
プログラミング未経験からエンジニアを目指す方には、【DMM WEBCAMP】がおすすめです!
受講生の97%がプログラミング未経験・初心者の【DMM WEBCAMP】では、初心者のために開発した独自のカリキュラムがあるため安心して学習が進められます。
あなたにあった学習スタイルで「ITエンジニア」を目指してみてください。
「“エンジニア”という職種に興味はあるけど、何から始めていいかわからない…」
そんな悩みを持つ方に向けて【DMM WEBCAMP】では無料のキャリア相談を実施しています。
ビデオ通話で相談をすることができるため、仕事で忙しい方でもスキマ時間に気軽にカウンセリングを受けることも可能です!
プロのキャリアカウンセラーと一緒に、今後のキャリアについて考えてみませんか?
GitHub(ギットハブ)の基本的な使い方とは
GitHubはプルリクエストやブランチなど、さまざまな機能がありますが、基本的な使い方は下記となります。
- Gitのインストール方法
- リポジトリを作成する
- ローカルリポジトリにファイルをコミットする
- リモートリポジトリにファイルをプッシュする
このように、とっかかりとしての使い方はインストール後にリポジトリを作り、コミットとプッシュを繰り返すという使い方になります。
以降で詳細を解説していきます。
1.Gitのインストール方法
まずはGitのインストールとGitHubへの登録をおこなう必要があります。
手順は以下となります。
- https://gitforwindows.org/ へアクセス
- Nextボタンをクリックして先へ進む
- Installボタンが出てくるのでクリック
このように、まずはGitのインストールをおこなった後にGitHubのアカウントを作成しましょう。
ただし、Macの場合はすでにGitが内蔵されているため、ツールインストールは不要で、やることはGitHubへの登録のみとなります。
2.リポジトリを作成する
次に操作の基本となるリポジトリをGitHub内で作成していきます。
リモートリポジトリの操作は以下です。
- リポジトリ名の入力
- 種類の選択(一般公開する、しないの選択)
- READMEファイルを用意するかしないか
ローカルリポジトリの作成は、パソコン上のGitでおこなうことになります。
任意のパスを選択後、”git init”コマンドを使い、Gitを初期化して使用開始となります。
このように、リモートリポジトリ、ローカルリポジトリそれぞれを作成するようにしましょう。
3.ローカルリポジトリにファイルをコミットする
次にローカルリポジトリへファイルをコミットしていきます。
このように、“git add”コマンドによりインデックスした上で、ローカルリポジトリにファイルをコミットすることがポイントとなります。
4.リモートリポジトリにファイルをプッシュする
ローカルリポジトリにて作業が終了後、リモートリポジトリへファイルをプッシュして内容を反映させます。
プッシュの留意点は以下です。
- プッシュする前に、ローカルリポジトリとリモートリポジトリを紐づけておく
- 紐付けは「git remote add origin リモートリポジトリのURL」コマンドでおこなう
- リポジトリ名はデフォルトで「origin」となっているが、別名を付けることも可能
- 「git push origin master」コマンドでリモートリポジトリへの登録の確認が可能
このように、あらかじめリモートリポジトリの場所を紐付けたうえでプッシュをおこない、プッシュ後は「git push origin master」コマンドで登録されたことを確認するようにしましょう。
GitHub(ギットハブ)上のファイルのダウンロード方法とは
GitHubに置かれたファイルを利用する際には、ファイルのダウンロードが必要となります。
そのやり方は下記の2点です。
- リポジトリをクローンする方法
- 圧縮ファイルとしてダウンロードする方法
上記の使いわけとしては「ダウンロード後にバージョン管理をおこなう場合は「クローン」をおこない、単にファイルを利用するだけの場合は圧縮ファイルとしてダウンロードする」となります。
以降で詳細を解説していきます。
1.リポジトリをクローンする方法
Gitによりバージョン管理をしながら、ソースコードの編集を続ける場合には、リポジトリの「クローン」機能でGit上からデータをダウンロードするようにしましょう。
やり方は下記のふたつです。
- やり方①:Git画面上の、緑色「Code」ボタンをクリックし、出てきたメニューからコピーボタンをクリック
- やり方②:コマンドプロンプト(WindowsならPowerShell、Macならターミナル)にて「git clone」コマンドをうつ
このように、リポジトリをクローンするやり方は、画面上でのアイコンクリック、または「git clone」コマンドのいずれかで可能なため、やりやすい方を選択しましょう。
2.圧縮ファイルとしてダウンロードする方法
Git上のファイルを自分のPCで単に閲覧したい、または実行したいだけの場合は、圧縮ファイルとしてダウンロードするようにしましょう。
やり方は「Git画面上の緑色の「Code」ボタンをクリック後に表示されたメニューから「Download ZIP」をクリック」するだけです。
なお、ダウンロードの留意点は下記です。
- 単にダウンロードしただけであり、Gitのコマンドは有効とならず、リポジトリとしての機能はないこと
- リモートリポジトリからも切り離され、ローカルリポジトリと関連付けされていない状態であること
このように、手順もかんたんであるため、バージョン管理が必要ない場合はダウンロードでファイルを取得するようにしましょう。
GitHub(ギットハブ)の料金プランとは
GitHubには無料プランと有料プランがあり、使いわけは下記となります。
- 無料(Free)プラン:個人開発向け
- 有料(Team)プラン:機能制限なしで複数人の開発向け
このように、無料の「Free」プランと有料の「Team」プランにわかれておりますが、基本的に個人での使用の場合は「Free」プランで十分です。
というのも、ひととおりの機能が使える上に、非公開設定も可能であるからです。
以降で詳細を解説していきます。
1.無料(Free)プラン:個人開発向け
もともと有料プランにしかなかった機能が無料プランでも使えるようになったことから、有料→無料プランに変更するユーザーが増えております。
そんな無料(Free)プランのポイントは下記です。
- リポジトリの公開/非公開の設定が可能である
- 利用人数は、非公開リポジトリの場合は3名まで(公開している場合は無制限)
- ストレージ容量も制限なし
このように、リポジトリの非公開設定も可能であり、かつストレージ容量も制限がないのが無料プランとなります。
なので、個人開発の場合は無料プランで十分です。
2.有料(Team)プラン:機能制限なしで複数人の開発向け
有料(Team)プランは、旧来のProプランを統合したプランであり、特徴は以下です。
- Freeプランのすべての機能が利用可能であること
- リポジトリの公開/非公開に関わらず、利用人数は制限なしであること
- レビュアーの必須化(チェック者の指定)など複数の便利機能が追加されていること
- 料金は1ユーザーあたり4ドルであること
このように、有料とはいえ、1ユーザーたった4ドルで使用できるのが有料(Team)プランです。
利用人数の制限がないことから、複数人での開発をするならTeamプランへの課金を検討するようにしましょう。
まとめ:GitHub(ギットハブ)を使いこなし、開発を進めよう
ここまでGitHubについて解説してきました。
まとめると以下となります。
- GitHubはバージョン管理ツールであること
- リポジトリやコミットなど、ツール使用前に知っておくべきワードがあること
- 基本的な使い方は「リポジトリ作成→コミット→プッシュ」であること
- 個人開発なら無料プランで十分であること
また、GitHubはエンジニア職全般で使われているため、てっとり早くGitHubを使いこなすにはプログラミングスクールの活用を検討するのもひとつの手です。
GitHubを使いこなし、個人/チーム開発を円滑に進められるようにしましょう。