★悩み★
・これからGitHubに入門するけど、何から勉強すれば良い?
・そもそもGitHubとは何?何ができるの?
・リポジトリなどのGitHub関連の用語から具体的な使い方までを知りたい。
こういった「悩み」に答えます。
★本記事の内容★
① GitHubとは?
② 知っておくべきGitHub関連の用語9選
➂ GitHubがよく使われる場面2選
④ GitHubの使い方(アカウント作成からクローンまで)
これからご紹介する「【要点解説】GitHubとはを解消!初心者向けに4ステップで解説」を熟読したことで、1時間以内で「GitHubとはを理解した上で基本的な操作」をできるようになりました。
記事の前半では「GitHubとは?」や「GitHubを使う上で知っておくべき最低限の専門用語」を解説します。
記事の後半では「GitHubがどのような場面でよく使われ、どういったメリットがあるのか?」から「アカウント作成といったGitHubの操作関連の手順」を紹介します。
この記事を読み終えることで、「GitHubを使う上で最低限必要な知識や操作手順を把握した」状態になります。
GitHubとは?
「GitHubとは?」に関してご紹介します。
★GitHubに関する情報★
・GitHubとは?
・GitHubの機能
・GitHubの料金プラン
・GitHubとGitの違い
・GitHubとGitLabの違い
以降で、上記「GitHubに関する情報」の各項目に関してご説明します。
GitHubとは?
「GitHubとは?」に関して解説します。
「そもそもGitHubとは何か?」に関して簡単に紐解いていきますね。
GitHubの公式サイトでは、以下のように「GitHubとは?」を説明しています。
少し難しい文言で「GitHubとは何か?」を説明されています。
以下に簡単な文言に置き換えた「GitHubとは何か?」を記載しますね。
★GitHubとは何か?★
GitHubとは、「Pythonのプログラム」や「説明書などのドキュメント」といった自分が作成したものをWeb上で管理できるサービスです。
GitHub上でプログラムなどを管理することで、他のプログラマーと一緒に効率よくプログラムを作成できます。
ちなみに、GitHubを使うための条件を以下に記載します。
★GitHubを使うための条件★
・GitHubのアカウントを所持していること
・「Webブラウザ」または「git」を使える環境であること
上記の条件を満たすことで、下図のようにGitHub上で「プログラム」や「ドキュメント」を公開できます。
以上が、「GitHubとは?」となります。
GitHubの機能
「GitHubの機能」に関して説明します。
GitHubでよく使われる機能として「6つの機能」があります。
その「6つの機能」を実際の画面を用いて簡単にご紹介しますね。
GitHubでよく使われる6つの機能は、以下となります。
★GitHubでよく使われる機能一覧★
・プログラムなどの管理(登録)
・コードレビュー
・課題管理(Issues)
・プロジェクト管理
・Wiki
・CI/CD
上記6つの機能で、下図のようにGitHubという1つの基盤でプログラムを開発できます。
これにより、「成果物の一元管理」ができるため、「成果物の紛失」や「探す」といった無駄な作業から解放され、プログラム開発により集中できるようになります。
以降で、簡単に6つの機能の「画面例」と「できること」をご紹介しますね。
プログラムなどの管理(登録)
GitHub上では、以下のように「プログラム」や「ドキュメント」を保存できます。
また、下図のように「〇月×日に△行目にプログラムを追加した」といったプログラムの変更管理(バージョン管理)もできます。
コードレビュー
GitHubには、「レビューを任意の人に依頼する機能」や「レビュー対象となるプログラムに指摘をコメントとして保存する機能(下図の赤枠)」があります。
GitHubのコードレビュー機能の詳細を知りたい方は、以下の公式サイトをご覧ください。
>>GitHubのコードレビュー機能に関する説明(公式サイト)
課題管理(Issues)
GitHubには、「プログラムにメモリリークがある」などの課題を管理できる機能があります(下図参照)。
GitHubの課題管理機能(Issues)の詳細を知りたい方は、以下の公式サイトをご覧ください。
>>GitHubの課題管理機能(Issues)に関する説明(公式サイト)
プロジェクト管理
GitHubには、「作業を整理して優先順位付けするため」の機能「Projects」があります(下図参照)。
GitHubのプロジェクト管理(Projects)の詳細を知りたい方は、以下の公式サイトをご覧ください。
>>GitHubのプロジェクト管理機能(Projects)に関する説明(公式サイト)
Wiki
GitHubには、「コーディング規約」などの情報をまとめて管理できるWiki機能があります(下図参照)。
GitHubの「Wiki」の詳細を知りたい方は、以下の公式サイトをご覧ください。
>>GitHubのWikiに関する説明(公式サイト)
CI/CD
「GitHubにプログラム登録」もしくは「登録されたプログラムが更新」された場合に、「今まで通り正常に動作する」といったテストの自動化ができます。
GitHubの「CI/CD」の詳細を知りたい方は、以下の公式サイトをご覧ください。
>>GitHubのCI/CDに関する説明(公式サイト)
GitHubの料金プラン
「GitHubの料金プラン」に関して説明します。
GitHubの料金プランには、3つの種類があります。
GitHubの料金プランには、「Free」「Team」「Enterprise」の3種類があります(下図参照)。
GitHubの料金プランの選び方は、以下のような基準で問題ないです。
★GitHubの料金プラン選択基準★
・Web経由でのサポート問い合わせが不要な場合「Free」を選択
・監査ログなどのセキュリティ面を重要視したい場合「Enterprise」を選択
・上記以外は「Team」を選択
以上が、「GitHubの料金プラン」となります。
GitHubとGitの違い
「GitHubとGitの違い」に関して解説します。
GitとGitHubの違いを一言でいうとすれば、「ツールとサービスという立ち位置の違い」となります。
まずは、「Gitとは何か?」を理解するために、以下に「Gitの概要」を記載しますね。
★Git(読み方:ギット)とは?★
プログラムのバージョンを管理するツールとして、「Git」があります。
IT業界では、複数人数で製品やサービスを開発することが多いです。
その際に、「いつ誰がどこを変えた?」「最新のプログラムは?」「バグ発生前のプログラムは?」など、プログラムのバージョン(履歴)を把握する必要があります。
上記実現のために、近年、Gitが広く利用されています(下図参照)。
参照:Gitとは?(公式サイト)
上記を踏まえて、「GitHubとは何か?」を以下に記載しますね。
★GitHub(読み方:ギットハブ)とは?★
Gitを「Web上で簡単に利用できるようにしたもの」がGitHubとなります。
GitHubを使えば、クラウド上でプログラムのバージョンを管理できます。
GitHubでは、「Gitでできること」に加えて「コードレビュー機能」などプログラム開発者に便利な機能も提供してくれます。
以上の「Gitとは?」「GitHubとは?」を踏まえた上で、再度「GitとGithubの違い」を以下に記載しますね。
★GitHubとGitの違い★
・Git:バージョンを管理できるツール
・GitHub:Gitや付加機能を使ってWeb上でバージョン管理できるサービス
以上が、「GitHubとGitの違い」となります。
GitHubとGitLabの違い
「GitHubとGitLabの違い」に関して解説します。
GitHubを検索すると、似た言葉である「GitLab」が目につくと思います。
以降で、GitHubとGitLabの違いを簡単に説明しますね。
GitHubと似ているものとして下図のような「GitLab」があります。
この「GitLabとは何か?」を以下に簡単に記載しますね。
★GitLab(読み方:ギットラボまたはギットラブ)とは?★
GitLabを使うことで、GitHubのようなWebサービスを「社内などのクローズドな環境」で利用できます。
GitLabは、OSSであるため、無料で使うことができます。
参照:GitLabとは?(公式サイト)
上記の「GitLabとは?」を踏まえた上で、「GitHubとGitLabの違い」を以下にまとめますね。
★GitHubとGitLabの違い★
・GitHub:GitHub社が運用しているWebサービス
・GitLab:任意環境にインストール/セットアップし利用するWebサービス
社内などのクローズドな環境でプログラムのバージョン管理をしたい場合は、「GitLab」の利用を検討しましょう。
以上が、「GitHubとGitLabの違い」となります。
複数人数でプログラムを開発する場合、バージョン管理できるGitHubの利用を検討しましょう。
GitHubを使う際にGitHub専門用語が頻出し、分からなくなってしまいます。
そこで、以降で、GitHubを利用する際に知っておくべき9つの用語を解説しますね。
知っておくべきGitHub関連の用語9選
「知っておくべきGitHub関連の用語9選」に関してご紹介します。
★知っておくべきGitHub関連の用語9選★
・ローカルリポジトリとリモートリポジトリとは
・ブランチ(branch)とマスター(master)とは
・コミット(commit)とプッシュ(push)とマージ(merge)とは
・プル(pull)/クーロン(clone)とは
以降で、上記「知っておくべきGitHub関連の用語9選」の各用語を上図「GitHubの一般的な操作例」を用いて解説します。
ローカルリポジトリとリモートリポジトリとは
「ローカルリポジトリとリモートリポジトリとは」に関して説明します。
GitHubを使う場合、リポジトリという用語(下図の赤枠部分)を理解しておく必要があります。
リポジトリとは、「フォルダ構成」や「ファイルの中身」を保存する場所のことです。
リポジトリ内にフォルダやファイルを置くことで、置いたファイルなどの変更履歴を記録できます(バージョン管理)。
変更履歴を記録(バージョン管理)することによって、以下のメリットがあります。
★変更履歴を記録(バージョン管理)するメリット★
・最新のファイルがどれか一目でわかる
・バグが発生する直前のプログラムに戻せる
・誤ってファイルやフォルダを削除してもすぐに復元できる
また、リポジトリには、以下の2種類があります。
★リポジトリの種類★
・ローカルリポジトリ:自分のパソコン内に存在するリポジトリのこと
・リモートリポジトリ:GitHub上に存在するリポジトリのこと
リモートリポジトリからローカルリポジトリを作成し、ローカルリポジトリ内で更新したファイルなどをリモートリポジトリに反映するというのが基本的な流れです。
以上が、「ローカルリポジトリとリモートリポジトリとは」となります。
ブランチ(branch)とマスター(master)とは
「ブランチ(branch)とマスター(master)とは」に関して説明します。
GitHubの操作をWeb検索すると、「ブランチ(branch)」「マスター(master)」(下図の赤枠)をよく見ます。以降で、簡単にご紹介しますね。
GitHubを使ったプログラム作成では、ブランチと呼ばれる機能を使います。
ブランチとは、機能追加やバグ修正などの作業単位で変更履歴の流れを保存する方法のことです。
また、マスター(現在はメイン[main]と呼ぶ)とは、安定稼働/正常動作するプログラムを保存しておくブランチの名前となります。
上図のように、「△機能を作成する」場合、マスター(master)ブランチから「△機能開発用のブランチ」を作成します。
その後、作成したブランチを用いて、△機能向けのプログラミングを実施します。
△機能が正常動作することを確認した後に、マスター(master)ブランチへ反映します。
このようなブランチを使ったプログラム開発をすることで、以下のメリットがあります。
★ブランチを使ったプログラム開発のメリット★
・他のブランチに影響を与えずにプログラム開発できる
・並行して複数の機能開発やバグ修正ができる
・マスターを触らないことで、正常動作するプログラムを常に提供できる
以上が、「ブランチ(branch)とマスター(master)とは」となります。
コミット(commit)とプッシュ(push)とマージ(merge)とは
「コミット(commit)とプッシュ(push)とマージ(merge)とは」に関して説明します。
GitHubを使ったプログラム開発をするためには、コミット(commit)/プッシュ(push)/マージ(merge)を必ず使う必要があります。
コミット(commit)/プッシュ(push)/マージ(merge)は、大雑把に言うと、以下の操作のことを指します。
★コミットとは?プッシュとは?マージとは?★
・コミット:ファイルなどの変更履歴をリポジトリ内に記録する
・プッシュ:ローカルリポジトリ内の履歴をリモートリポジトリへ反映する
・マージ:あるリポジトリの変更を指定したリポジトリに反映する
「実際にどういったコマンドでコミット(commit)/プッシュ(push)/マージ(merge)をするのか?」に関しては、本記事の後半でご紹介します。
以上が、「コミット(commit)とプッシュ(push)とマージ(merge)とは」となります。
プル(pull)/クーロン(clone)とは
「プル(pull)/クーロン(clone)とは」に関して解説します。
GitHubを使ったプログラム開発をするためには、プル(pull)/クーロン(clone)を必ず使う必要があります。
プル(pull)/クーロン(clone)は、大雑把に言うと、以下の操作のことを指します。
★クーロン(clone)とは?★
クーロン(clone)を実施することで、リモートリポジトリをローカルリポジトリにダウンロードできます。
ちなみに、最新ファイルだけでなく、変更履歴も一緒にダウンロードされます(下図参照)。
★プル(pull)とは?★
プル(pull)を実施することで、リモートリポジトリにある最新の情報をダウンロードできます(下図参照)。
クローン(clone)とプル(pull)は、どちらもリモートリポジトリから最新の情報をダウンロードする機能を持っています。
一般的には、以下のように使い分けられています。
★クローン(clone)とプル(pull)の使い分け★
・クローンを使う場面
リモートリポジトリからローカルリポジトリへ初回ダウンロードするとき
・プルを使う場面
上記以外
「実際にどういったコマンドでコミット(commit)/プッシュ(push)/マージ(merge)をするのか?」に関しては、本記事の後半でご紹介します。
以上が、「コミット(commit)とプッシュ(push)とマージ(merge)とは」となります。
「ローカルリポジトリ」「リモートリポジトリ」「ブランチ」「マスター」「コミット」「プッシュ」「マージ」「プル」「クーロン」を覚えておけば、GitHubを使っている開発現場でもある程度やっていけます!
GitHubがよく使われる場面2選
「GitHubがよく使われる場面2選」に関してご紹介します。
★GitHubがよく使われる場面2選★
・複数人数でプログラミングする際に使う
・CI/CDとGitOpsで使う(テストの自動化)
以降で、上記「GitHubがよく使われる場面2選」の各項目に関してご説明します。
複数人数でプログラミングする際に使う
「複数人数でプログラミングする際に使う」に関して解説します。
本記事で「GitHubとは何か?」を説明してきました。それらを総括すると、GitHubは、複数人数でプログラム開発することに特化しています。
ブランチ機能を活用して、複数人数で製品やサービスの機能開発をする際にGitHubがよく利用されます(下図参照)。
筆者の職場でも利用されています。
以上が、「複数人数でプログラミングする際に使う」となります。
CI/CDとGitOpsで使う(テストの自動化)
「CI/CDで使う(テストの自動化)」に関して解説します。
GitHubの「GitHub Actions」を使うことで、作成したプログラムのテスト自動化を実現できます。
GitHub Actionsという機能を使うことで、「プログラムをコミットしたら、自動でAWS環境などで更新プログラムが問題なく動くかどうか?」といったテストを自動実行できます(下図参照)。
自動実行されたテストの結果は、GitHub Actionsの管理画面から確認できます。
★CI/CDとは?★
・CI(Continuous Integration):
日本語では、継続的インテグレーションと呼ばれます。
プログラムのビルドやテストを自動化することを指します。
・CD(Continuous Delivery):
日本語では、継続的デリバリーと呼ばれます。
更新されたプログラムを本番環境などに自動で配備することを指します。
ちなみに、CI/CDをGitHub内で実現することを「GitOps」と言います。
以上が、「CI/CDで使う(テストの自動化)」となります。
GitHubをプログラム開発に利用することで、開発効率が格段にアップします。
導入や設定までに時間はかかりますが、開発者としてはぜひともGitHubを導入したいところです。
GitHubの使い方(アカウント作成からクローンまで)
「GitHubの使い方(アカウント作成からクローンまで)」に関してご紹介します。
★GitHubの使い方(アカウント作成からクローンまで)★
手順1:GitHubのアカウント作成手順
手順2:gitのインストール
手順3:GitHubのリモートリポジトリにプッシュ(push)する手順
手順4:GitHubのリモートリポジトリからクローン(clone)する手順
以降で、上記「GitHubの使い方(アカウント作成からクローンまで)」の各手順に関してご説明します。
手順1:GitHubのアカウント作成手順
「手順1:GitHubのアカウント作成手順」に関して解説します。
GitHubを使うためには、GitHubのサイト上でアカウントを作成する必要があります。約5分で、GitHubのアカウントを作成できます。
GitHubのアカウント作成に関する手順は、以下の記事「手順1: GitHubのアカウントを作成」の箇所をご覧ください。
>> 【無料】GitHubの「ユーザ登録〜リポジトリ更新」までの使い方
以上が、「手順1:GitHubのアカウント作成手順」となります。
手順2:gitのインストール
「手順2:gitのインストール」に関して説明します。
今回は、gitコマンドを使ってGitHubのリモートリポジトリにファイルを保存する方法を解説します。そのために、gitコマンドを使えるようにしましょう。
gitのインストール手順は、以下の記事「手順2: GitHubを使うためのライブラリをインストール」の箇所をご覧ください。
>> 【無料】GitHubの「ユーザ登録〜リポジトリ更新」までの使い方
以上が、「手順2:gitのインストール」となります。
手順3:GitHubのリモートリポジトリにプッシュ(push)する手順
「手順3:GitHubのリモートリポジトリにプッシュ(push)する手順」に関して解説します。
GitHubのリモートリポジトリにプッシュ(push)する方法を具体的なコマンドと共にご紹介します。
GitHubのリモートリポジトリにプッシュ(push)する手順は、以下の記事『GitHubの「ソースコード作成〜リポジトリ更新」までの使い方』の箇所をご覧ください。
>> 【無料】GitHubの「ユーザ登録〜リポジトリ更新」までの使い方
以上が、「手順3:GitHubのリモートリポジトリにプッシュ(push)する手順」となります。
手順4:GitHubのリモートリポジトリからクローン(clone)する手順
「手順4:GitHubのリモートリポジトリからクローン(clone)する手順」に関して解説します。
GitHubのリモートリポジトリからローカルリポジトリにファイルをダウンロードする方法を具体的なコマンドと共にご紹介します。
GitHubのリモートリポジトリからクローンする手順は、以下の記事をご覧ください。
>> 【簡単】GitHubのリポジトリ(ファイル)をダウンロードする方法
以上が、「手順4:GitHubのリモートリポジトリからクローン(clone)する手順」となります。
実際に触ってみたことで、「GitHubの使い方って要点を抑えれば簡単では?」と思いませんでしたか?
是非、その感覚を忘れずに開発現場でGitHubをフル活用してみてください。
【まとめ】GitHubとはを解消!初心者向けに4ステップで解説【要点解説】
いかがでしたでしょうか?
上記で紹介した「GitHubとは?」「知っておくべきGitHub関連の用語9選」を理解していただくと、今後GitHubの操作や使い方で悩むことは一切なくなり、プログラム開発をより効率化できます。
最後にもう一度内容を確認しましょう。
★GitHubとは?のおさらい★
・プログラムなどの変更履歴をWebで管理できるサービス
・GitHubを使うためにはアカウント作成が必要
>> 【無料】GitHubの「ユーザ登録〜リポジトリ更新」までの使い方
・ブランチを作成することで複数人数による開発を円滑にできる
・GitHubの機能を使うことで、CI/CDを実現できる
「GitHubとは?」を理解した上で、GitHubを利用をしてみましょう。
プログラム開発効率が一段と上がります。
コメント