出典元:GitHub Octodex
「GitHubの使い方を知りたい」
「そもそもGitHubとは何なのかわかりやすく解説してほしい」
こう考えていませんか?
本記事では、サービスを作り出すエンジニアやデザイナーにとって一番身近なサービスである「GitHub(ギットハブ)」の使い方やおもな機能などを紹介します。
GitHubを基本をマスターして、エンジニアとより深い意思疎通をしたい方、開発効率の向上を目指したい方は必見です。
※記載内容は2024年3月公開時点での情報です。最新のサービス内容等は公式サイトをご確認ください。
この記事の目次
GitHub(ギットハブ)とは?わかりやすく解説
GitHubとは、ソフトウェア開発プロジェクトのバージョン管理サービスです。
2008年に設立したこのサービスは、1年も経たずに開発者の中で圧倒的な人気を博し、いまやIT業界でも必須のサービスになりました。
エンジニア以外だけでなく、経営者やデザイナーなど、エンジニアと関わる機会の多い様々な業界で使用されています。ここでは、GitHubの概要について以下の流れで簡単に解説。
- GitとGitHub
- どのようなときに使うのか
- AIプログラミング機能「GitHub Copilot」
この記事もオススメ
GitとGitHub
出典元:GitHub
「Git」を一言で説明すると、バージョン管理システムを指しています。
バージョン管理システムとはファイルに対して加えられていく変更について、「誰が」「いつ」「何を変更したか」というような情報の記録をするシステムのことです。
このシステムは、過去のある時点の状態の復元や現在と過去のファイルの内容の差分を確認することを可能にしてくれます。
GitHubは、その変更を共有するためのリモート部分を提供しているサービスなのです。
ちなみに、Git以外のバージョン管理システムには「Subversion」や「Mercurial」などが存在します。しかし、シェア率はGitが高く、開発現場でもGitが主流。
どのようなときに使うのか
GitHubは、複数人でチーム開発する時に絶大な威力を発揮します。
複数人が同時に開発をしていると、様々な変更が発生するもの。そこでGitHubを使用すれば、「誰が、いつ、どのような目的で」行った修正なのかという情報も一緒に記録されます。
これにより、バグ修正・機能の追加・フィードバックなどを素早く、かつ簡単に行うことができるようになるのです。
そして、チーム全員がプロジェクトの進行状況を把握できるため、サービスの開発の効率も従来に比べて圧倒的に上げることができるのです。
AIプログラミング機能「GitHub Copilot」
出典元:GitHub
2021年6月29日にGitHubが発表したAIプログラミング機能「GitHub Copilot」。「GitHub Codespaces」向けの拡張機能として提供されています。月額10ドルから利用可能。
GitHub Copilotの機能を使うと、コメントでロジックを書き、関数を書き始めると、Copilotがその先の一連のコードを提示。
コードの候補はいくつか表示され、その中から気に入ったものを選べる仕組みです。
この機能は「OpenAI Codex」というシステムで成り立っており、これはネット上で公開されているコードとコメントのデータを学習したもの。
GitHub CopilotにおけるPythonの自動補完の精度は、1回の試行で43%、10回の試行で57%とされています。
GitHub Copilotの対応環境やインストール方法などの詳しい中身については、以下の公式サイトを確認してください。
▶️GitHub Copilot の概要 – GitHub Docs
【無料】ChatGPTの使い方をマンツーマンで教えます
・ChatGPTの基本的な使い方がわかる
・AIの仕組みがわかる
・AIをどうやって活用すれば良いかがわかる お申し込みは1日5組限定です。
今すぐお申し込みください。 ChatGPTレッスンを確認する▼
https://tech-camp.in/lps/expert/chatgpt_lesson
GitHubの使い方の手順
GitHubの使い方の手順は以下の通りです。
- Gitのインストール
- アカウントの登録
- SourceTreeのインストール
- リポジトリの作成
- ローカルリポジトリの作成
- リモートリポジトリの作成
ローカルリポジトリとリモートリポジトリの作成も合わせて紹介します。
より具体的なGitHubの導入手順については、以下のProgateの記事が参考になると思います。合わせて参考にしてみてください。
Gitのインストール
Gitを使う前の前提条件として、PCにGitをインストールしなければなりません。以下でMacとWindowsそれぞれのインストール方法を紹介します。
Macの場合
Macの場合は、すでに最初からGitがインストールされています。
ターミナルアプリを開き「git –version」を実行してGitのバージョンが表示されたら、すでにインストールされている証拠です。
表示されない場合、「コマンドライン・デベロッパー・ツールをインストールしますか?」というポップアップが表示されるので、案内に従ってインストールしてください。
Windowsの場合
Windowsの場合は、Gitは入っていないのでインストール作業が必要です。以下の公式サイトからインストーラーをダウンロードしましょう。
その後、ファイルをクリックしてインストーラーを起動し、画面の案内に従ってインストールしてください。
アカウントの登録
出典元:GitHub
続いて、GitHubのユーザー登録をします。GitHubにアクセスしましょう。
フォームにて、ユーザー名・メールアドレス・パスワードを入力してユーザーの登録をしましょう。パスワードは、7文字以上にする必要があるので注意してください。
GitHubのプラン(無料・有料)
出典元:GitHub
続いて、プランを選択していきましょう。
無料プランと有料プランがありますが、大きな違いは、「インターネットで公開したくないプライベートリポジトリが作れるか作れないか」です。
無料プランでは、強制的にインターネットで公開されるのですが、有料プランだとプライベートなリポジトリを作成することができます。リポジトリについては、後ほど詳しく説明します。
初心者の方は、とりあえずは無料プランを選択して始めることをおすすめします。プランは後から変更することが可能です。
アンケート(任意)
出典元:GitHub
次に、画像のようにアンケートのフォームが表示されます。答えない場合は画像の指定通りリンクをクリックしてください。
しばらくすると、登録したメールアドレスにメールが届くので、そこに載っているURLにアクセスして本登録を完了させましょう。
SourceTreeのインストール
Gitは本来ターミナルでコマンドを打ち込んで使います。SourceTreeはそれをグラフィカルで簡単に使えるようにしてくれるアプリケーションです。
今回はコマンドではなくSourceTreeを使うので、以下の手順に従い、SourceTreeをインストールしましょう。
①以下のリンクよりSourceTreeをダウンロード
ダウンロードは公式サイトより行ってください。
②ダウンロードしたディレクトリをダブルクリックし、表示されたアイコンをドラッグしてアプリケーションディレクトリに入れる
③アプリケーションディレクトリからSourceTreeを起動
上記のような画面が表示されるので、利用規約の方にチェックを入れましょう。
下はチェックしなくても構いません。終わったら「続ける」を押してください。
④GitHubのアカウントを登録
続いて上記の画面が表示されるので、先ほど登録したGitHubのアカウントを入力しましょう。
リポジトリの作成
登録が完了したら、リポジトリを作成。作成する前に、リポジトリについて説明します。
少し難しいですが、非常に重要な部分なので頑張って理解しましょう。
リポジトリとは?
リポジトリ(repository/レポジトリ)とは、「貯蔵庫」や「容器」などの意味。IT用語でファイルの状態や変更の履歴を残しておく場所として定義されます。
ソースコードそのものや、誰がどのように編集したのかといった履歴が保持されます。
”リポジトリとは、ファイルやディレクトリの状態を記録する場所です。保存された状態は、内容の変更履歴として格納されています。変更履歴を管理したいディレクトリをリポジトリの管理下に置くことで、そのディレクトリ内のファイルやディレクトリの変更履歴を記録することができます。”
引用元:サルでもわかるGit入門
リポジトリの種類
Gitのリポジトリは、リモートリポジトリとローカルリポジトリの2種類があります。
リモートリポジトリとは、インターネット上においておくリポジトリのことです。
リモートリポジトリから複製したリポジトリを複数人の作業者のPCに配置します。
リモートリポジトリとローカルのリポジトリの同期を通じて、それぞれに保管されているお互いのコミットを同期していくことで、作業を進めていきます。(下図参照)
一方、ローカルリポジトリはローカル環境にあるディレクトリのリポジトリ。バージョンを管理するためには、管理したいディレクトリにリポジトリを作成する必要があります。
リモートリポジトリとローカルリポジトリ
リポジトリをリモートとローカルに区別することで、普段の作業をローカルリポジトリ上で行うことができます。
自分の作業した内容を共有したいときには、リモートリポジトリにアップロードして公開。また、リモートリポジトリがあることで他の人の作業内容を取得することも可能です。
リポジトリの作り方
Gitでリポジトリを作成する方法として、新規に空のリポジトリを作成する方法と、既存のリポジトリを複製して作成する2つの方法があります。
今回は「sample」という名前で、空のローカル・リモートリポジトリを作成しましょう。
ローカルリポジトリの作成
ローカルリポジトリの作成方法は次の通りです。
① SourceTreeを起動し、上部バーにある「新規リポジトリ」をクリックするとメニューが表示されるので「ローカルリポジトリを作成」をクリック
②「リポジトリのタイプ」で「Git」を選択し、リポジトリを作成するディレクトリを、「保存先のパス」で指定して「作成」をクリック
上記の画像では、Desktop上のsampleディレクトリのローカルリポジトリを作成。
これで、ローカルリポジトリの作成は完成です。以下のsampleと表示されている部分をダブルクリックしてください。
以下のような画面になっていれば成功です。
リモートリポジトリの作成
リモートリポジトリの作成方法は次の通りです。
① SourceTreeの右上にある「設定」ボタンをクリック
「設定」のアイコンがない方は上記の画像のように「>>」ボタンからでてきます。
② Remoteを選択し、「追加」ボタンをクリック
③ 地球マークを押す
④ 「新規リポジトリを作成」ボタンをクリック
⑤ リモートリポジトリの名前を入力する(今回は「sample」と入力)
なお、リモートリポジトリを非公開にする場合、料金が発生します。ここでは「公開する」にチェックを入れておきましょう。
⑥ 作成されたリポジトリを選択して、OKボタンをクリック
⑦ SourceTree上で表示する名前を「sample」と入力しOKボタンをクリック
これでリモートリポジトリが作成できました。
GitHubのおもな機能
リポジトリが作れたら、あとはファイルを編集していくだけです。
GitHubの変更履歴を保存するという機能を有効活用するために、最低限知っておきたい8つの機能や知識を紹介します。
- コミット
- プッシュ
- プル
- プルリクエスト
- ブランチ
- ブランチを利用した開発の例
- マージ
- ファイルダウンロード
ここで紹介するGitHubの代表的な機能を理解して、開発を始めましょう。
コミット
これまでバージョン履歴と呼んできたものがコミットです。開発をゲームに例えるなら、コミットはセーブポイント。
任意の段階で現在のディレクトリの状況をコミットし(保存し)、あとでそのコミットまでディレクトリの中身を元通りにできます。
この記事もオススメ
プッシュ
自分のローカルリポジトリをリモートリポジトリと同期し、自分のコミットを反映させることをプッシュと言います。
この記事もオススメ
プル
プッシュでは自分が行った変更をリモートリポジトリに同期させます。しかし、複数人で開発している場合は、自分以外の作業者が変更をプッシュする場合も。
すると自分のローカルリポジトリの状態とリモートリポジトリの状態が変わってしまいます。このとき、リモートリポジトリの変更をローカルリポジトリに同期させることをプルといいます。
上図は、プルとプッシュを含めたGitによるバージョン管理の全体図です。
プルリクエスト
「プルリクエスト(Pull Request)」とは、自分のローカルリポジトリにあるコードやドキュメントなどの変更を通知し、レビュー・マージ担当者に変更の提案および変更箇所のレビューをしてもらうための機能です。
おもにオープンソースプロジェクトやチーム開発などで使用され、プルリクエストによりエンジニアのコードレビュー文化を根付かせ、コードの品質向上が実現しやすくなりました。
作成されたプルリクエストは一覧化され、コメントのやり取りや差分も履歴で管理できます。プルリクエストはGitHubのメイン機能の1つなので、ぜひ活用しましょう。
ブランチ
ブランチとはGitのバージョン管理の仕組みで、現在のコミットから分岐した作業履歴を残すことができるというものです。
リポジトリに最初のコミットを行うと、自動で「master」という名前のブランチが作成されます。ここからあたかも別の歴史に分岐するように、ブランチを増やせます。
ブランチを利用した開発の例
ブランチを利用すると、同じリポジトリの中で複数の変更を同時に進められます。
また、一度分岐したブランチは元のブランチと結合して一つのブランチに統合可能。これを利用して、多人数で作業する際に簡単に役割分担ができるのです。
例えば、とあるアプリ開発において、masterブランチからAさんはフォロー機能を、Bさんはコメント機能を、Cさんはお気に入り機能を作るためにそれぞれのブランチを作ります。
すると、それぞれ別のブランチで作業するので、互いに影響し合ってエラーが起こるといったことがありません。
Aさんが作業を終了し、元のブランチに作業したブランチを結合すると、元のブランチのアプリケーションにはフォロー機能が追加されます。
同じように残りの2人もブランチを結合すれば、コメントやお気に入り機能もついたアプリケーションになるというわけです。
この記事もオススメ
マージ
その名の通り、ブランチとブランチを結合することを指します。あるブランチは、そのブランチが分岐したブランチに統合される場合がほとんどです。
例えばmasterブランチにtestブランチをマージするとき、両方のブランチでのコミットを含んだマージコミットが作成されます。(上図参照)
そのコミットがmasterブランチの最新のコミットとされます。
ファイルダウンロード
GitHubからのファイルダウンロードに関しては、以下の記事にまとめております。
さらに理解を深めたいのであれば是非ご覧ください。
この記事もオススメ
GitHubを使うメリット
GitHubはシステム開発の生産性を上げる開発現場に必須のツールです。エンジニア・プログラマーならば、必ず使うことになるでしょう。
そこで本章では、GitHubを使うメリットについて2つ紹介します。
- チーム開発をサポートする機能が豊富
- 世界最大級のコミュニティに参加できる
チーム開発をサポートする機能が豊富
GitHubを使うメリットの1つ目は「チーム開発をサポートする機能が豊富」なことです。
GitHubは分散型バージョン管理システムの「Git」をベースとしています。これにより、複数の開発者が同時に開発に参加でき、コードの変更をトラッキングできるのです。
各変更内容は「コミット」として記録され、必要に応じて過去のバージョンに戻ることも可能。
また、独立した作業領域である「ブランチ」を作成したり、変更内容を本体に反映させる際に、他の開発者に変更内容の確認やレビューを提案できる「プルリクエスト」などの機能も搭載。
こうしたチーム開発を強力にサポートする機能が豊富にそろっていることから、複数人でプロジェクトを進める上で必要不可欠なツールなのです。
世界最大級のコミュニティに参加できる
GitHubを使うメリットの2つ目は「世界最大級のコミュニティに参加できる」ことです。
GitHubはプログラミングコミュニティとしても非常に活発化しており、今もGitHub上では数千数万ものプロジェクトが動いており、開発者たちは日夜議論を交わしています。
特に、GitHubは多くのオープンソースプロジェクトがホストされている場所です。例えば、いつも自分がお世話になっているOSSがあって何らかのバグを見つけたとします。
そのOSSがGitHub上でバージョン管理されている場合、そのリポジトリに対して「Issues(イシュー)」でバグの報告をしたり、バグを直してプルリクエストを開発者に送るといった貢献が可能。
このように、GitHubを通して興味のあるプロジェクトに参加したり、世界中の開発者と自分のプログラムや動いているプロジェクトに関して議論を交わせるのも大きなメリットです。
GitHubの使い方を理解して開発を効率化させよう
GitHubの概要から使い方・活用方法まで、GitHub入門レベルの知識をご紹介しました。
GitHubを使いこなせる様になれば、開発の効率化はもちろん、エンジニアやデザイナーとのコミュニケーションがより円滑にできる様になります。
GitHubを活用し初心者の壁を突破して、快適なプログラミング生活を送りましょう。
はじめての転職、何から始めればいいか分からないなら
「そろそろ転職したいけれど、失敗はしたくない……」そんな方へ、テックキャンプでは読むだけでIT転職が有利になる限定資料を無料プレゼント中!
例えばこのような疑問はありませんか。
・未経験OKの求人へ応募するのは危ない?
・IT業界転職における“35歳限界説”は本当?
・手に職をつけて収入を安定させられる職種は?
資料では、転職でよくある疑問について丁寧に解説します。IT業界だけでなく、転職を考えている全ての方におすすめです。
「自分がIT業界に向いているかどうか」など、IT転職に興味がある方は無料カウンセリングにもお気軽にお申し込みください。