catch-img

GitHubを上手に使って開発スピードアップ。新人エンジニア向け基本解説

GitHubは、チームで開発を担うエンジニアたちにとっては必須といえるツールです。初心者では難しいバージョン管理を、間違いなく効率的に行えます。新人エンジニア・SVNメインの方向けにGitHubの基本的な機能や使い方を分かりやすく解説します。

目次[非表示]

  1. 1.エンジニアには必須 GitHubとは
    1. 1.1.『Git』を使ってバージョンを管理
    2. 1.2.Gitとは何だろう?
  2. 2.GitHubの使い方と基本的な流れ
    1. 2.1.データの保管場所となる『リポジトリ』を作成
    2. 2.2.ファイル作成・編集後、最終的にリポジトリに反映
  3. 3.ローカルリポジトリとリモートリポジトリの役割と意味
    1. 3.1.ファイルをGitのインデックスに追加『git add』
    2. 3.2.変更をローカルリポジトリに記録する『git commit』
    3. 3.3.ローカルリポジトリからリモートリポジトリに送信する『git push』
  4. 4.初めてのGitHub 登録の方法
    1. 4.1.アカウントを作成・登録する
    2. 4.2.料金プランを選択しメールを確認
  5. 5.『branch』(ブランチ)の意味と役割も覚えておこう
    1. 5.1.branchとは?
    2. 5.2.branchを作成する
    3. 5.3.branchへの『push』とbranchからの『pull』
    4. 5.4.branchのmergeと削除
  6. 6.初心者に扱いやすいGitHub Desktop
    1. 6.1.GitHub Desktopとは
    2. 6.2.GitHub Desktopの準備と使い方
    3. 6.3.GitHub Desktopのメリット
  7. 7.初心者こそ活用したいGitHub

エンジニアには必須 GitHubとは

開発プロジェクトでは、エンジニアのチームが連携してコーディングを進めることが必要です。プロジェクトの規模が大きくなるほどバージョン管理は難しくなりますが、『GitHub(ギットハブ)』を使えばスマートに解決できます。

エンジニアにとって必須とも言えるGitHubの概要を、『Git(ギット)』との関係も交えて見ていきましょう。

Git』を使ってバージョンを管理

GitHubは、分散バージョン管理システム『Git』で作成・管理するソースコードを、インターネット上で公開・共有できるサービスです。

GitHub社が運営するサーバーにデータをアップロードすると、開発者はどこからでもWebブラウザ上でソースコードにアクセスできます。

公開されたソースコードは開発者が丸ごとダウンロードでき、それぞれの開発者が部分的に編集して、GitHub社のサーバー上でバージョンの閲覧・操作が可能です。

オープンソースソフトウェアのレビューや共同開発をはじめ、有料プランを選択すれば企業向けのプライベートな開発環境としても利用できます。

Gitとは何だろう?

Gitはバージョン管理システムの一種です。ユーザー個々のPCに丸ごとソースコードをダウンロードするため、サーバーが分散型であることから分散バージョン管理システムと呼ばれます。

Gitでは、一つの中央サーバーと複数のローカルサーバー(PC)でソースコードをやり取りする仕組みです。

それぞれのPCでバージョンが厳密に管理されたソースコードを編集できるため、中央サーバーへアップロードする際に誤って上書きするようなミスが生じません。

Gitで利用する中央サーバーをインターネット上のGitHub社のサーバーに置き換え、Webブラウザ上でソースコード・バージョンを簡単に閲覧・操作できるサービスがGitHubです。

■関連記事

  Javaを独学で習得するには。流れや勉強方法を解説 | Java・フロントエンド研修のジョブサポート Javaは世界中で使われている人気のプログラミング言語です。できることが多い反面、覚えるべきこともたくさんあります。Javaを効率よくマスターし使いこなせるよう、独学で習得するための勉強方法や、参考書籍・サイトなどを紹介します。 Java・フロントエンド研修のジョブサポート

通年開講プロエンジニア育成コース(Java1~3ヶ月)ー株式会社ジョブサポート

GitHubの使い方と基本的な流れ

Gitは分散バージョン管理に特化した開発環境で、GitHubGit専用のホスティングサービスという関係です。GitとGitHubの共通仕様として、データは『リポジトリ(Repository)』に保存します。GitHubの基本的な使い方や流れを見ていきましょう。

データの保管場所となる『リポジトリ』を作成

まずはGitHubにアクセスし、データの置き場所である『リポジトリ(Repository)』の作成が必要です。リポジトリは倉庫、保管庫の意味で、ファイルやディレクトリを保管する場所となります。

GitHubにログインして『New Repository』を選択し、次の画面でリポジトリの名前の入力や、ソースコードの公開・非公開の選択をしましょう。

必要事項を入力して『Create repository』を選択すれば、『リモートリポジトリ(GitHubサーバー上のリポジトリ)』が作成できます。

続いてPCで、『mkdir(ディレクトリ作成)』コマンドと『cd(ディレクトリ移動)』コマンドでディレクトリ名を指定して『git init』コマンドを実行し、カレントディレクトリを『ローカルリポジトリ(PC上のリポジトリ)』に変換しましょう。

また、『git clone』コマンドでリモートURLを指定すると、リモートリポジトリをローカルリポジトリに複製できます。

ファイル作成・編集後、最終的にリポジトリに反映

GitGitHubを使った開発現場では、リモート・ローカルともにリポジトリは作成(または複製)してから、ソースコードの作成や編集を行い、バージョン管理をしていくのが基本的な流れです。

行ったファイルの作成・変更・削除は、直接リポジトリに反映させるのではなく、まずGitの『インデックス』に追加します。インデックスとは、次の手順で変更内容を『コミット』するまでの一時的な保存場所です。

コミットとは、ファイル・ディレクトリの変更内容をローカルリポジトリに記録することを指します。コミットが完了したローカルリポジトリを、GitHub上のサーバーに送信すれば、リモートリポジトリにバージョン変更が反映されます。

Java短期講座(入門5日・基礎10日)ー株式会社ジョブサポート

ローカルリポジトリとリモートリポジトリの役割と意味

Gitで管理するPC上のリポジトリをローカルリポジトリ、GitHubで管理するGitHubサーバー上のリポジトリをリモートリポジトリと呼びます。それぞれのリポジトリの役割と意味や、基本的なコマンドを見ていきましょう。

ファイルをGitのインデックスに追加『git add

Gitでは、ソースコードのバージョン変更をインデックス・ローカルリポジトリの順に記録してから、リモートリポジトリに反映します。

中央サーバーへのアクセス集中を避けられるため、大規模なプロジェクトでも効率的にバージョン管理を行えるのが、GitGitHubを導入するメリットの一つです。

ソースコードを作成・編集したら、コミットの前段階として、ファイルの作成・変更・削除を『git add』コマンドでインデックスに追加します。git addコマンドでファイル名を指定すると、インデックスに変更内容が一時保存されます。

変更をローカルリポジトリに記録する『git commit

インデックスに一時保存した変更内容は、『git commit』コマンドでローカルリポジトリにコミット(記録)します。変更内容が正しくコミットできているかどうかは、『git status』コマンドを実行するだけで確認可能です。

コミットが完了すればリモートリポジトリへの反映を行いますが、その前に『git remote add』コマンドでリモート名・リモートURLを指定し、リモートリポジトリの設定を行いましょう。

ローカルリポジトリからリモートリポジトリに送信する『git push

ローカルリポジトリは、『git push』コマンドを実行するだけでリモートリポジトリに反映できます。Gitではこれをアップロードとは呼ばず、『プッシュ(押す)』と呼びます。

逆にリモートリポジトリをローカルリポジトリに反映させる場合、ダウンロードではなく『プル(引く)』という表現です。

開発者たちは作成・編集したソースコードをプッシュまたはプルし、GitHub上でバージョン管理を行いながらプロジェクトを進行させていきます。

■関連記事

  JavaScriptの勉強方法。若手、新人エンジニアにおすすめ学習サイト紹介 | Java・フロントエンド研修のジョブサポート JavaScriptはWeb系の開発者にとって必須といえるプログラミング言語です。Web業界で働くなら習得が求められますが、記法が特殊であるため、初心者には学びにくいかもしれません。学習のコツや学習サイトを紹介します。 Java・フロントエンド研修のジョブサポート

オンライン・リモート講座(入門5日・基礎10日)ー株式会社ジョブサポート

初めてのGitHub 登録の方法

GitHubを利用するには、簡単なアカウント登録が必要です。基本的な機能は無料プランでも利用できますが、ビジネスでの利用なら高機能な有料プランをおすすめします。アカウント作成や料金プランの選択について見ていきましょう。

アカウントを作成・登録する

GitHubを利用するには、まずアカウント作成が必要です。GitHubのサイトにアクセスして、トップページの『GitHubに登録する』を選択しましょう。

はじめに必要な入力項目は、ユーザー名・メールアドレス・パスワードの3点です。入力が完了したら、料金プランの選択に移ります。

料金プランを選択しメールを確認

GitHubの料金プランは、『Free』『Team』『Enterprise』『GitHub One』の4種類です。Freeのみ無料で、その他は月額料金が発生します。

20204月の仕様変更から、Freeプランでもパブリック(公開)リポジトリ、プライベート(非公開)リポジトリ両方の利用が可能です。

ただし、ソースコードのオーナーになるなどの高度な機能は、有料プランだけで利用できます。プロジェクトに必要なプランを選んだら、『Finish sign up』を選択しましょう。

登録したメールアドレスに認証メールが届くため、手順に従ってユーザー認証を行えばアカウント登録は完了です。

branch』(ブランチ)の意味と役割も覚えておこう

GitGitHubが分散バージョン管理システムとしての真価を発揮するのは、『branch』(ブランチ/枝)を活用した場合です。branchの意味や役割、基本的な使い方を見ていきましょう。

branchとは?

branchは、枝分かれする複数のバージョン管理を、互いに影響することなく行える仕組みです。

たとえば、リリース版・機能追加・バグ修正のそれぞれを別のブランチで管理して、ブランチ同士を『マージ』(併合)することで一つのブランチにまとめ直せます。

ほかにも、メインのブランチと複数のサブのブランチを、並行して作成・編集する場合にも利用できます。それぞれの機能追加を別の開発者が担当しても、デバッグや修正に対応しやすいバージョン管理が可能です。

branchを作成する

ローカルリポジトリに最初のコミットを行う際、『master』という名前のブランチが自動生成されます。Gitはブランチ構造を基礎としており、簡単なコマンドで自由にブランチの追加が可能です。

git branch』コマンドを実行すると、ブランチの一覧が表示されます。作業中のブランチは『* master』のように表示され、ひと目で把握できる仕様です。

続いて『git branch』コマンドで任意の名前を指定すると、masterから枝分かれしたブランチが作成できます。『git checkout』コマンドでブランチ名を指定するだけで、作業中のブランチの切り替えも可能です。

branchへの『push』とbranchからの『pull

ローカルリポジトリからリモートリポジトリへ、ブランチ単位でプッシュもできます。

まずは作成したファイルをローカルリポジトリにコミットし、『git push』でリモート名とブランチ名を指定しましょう。これだけで指定したブランチがプッシュできます。

プッシュされたブランチのプルも簡単です。git checkoutコマンドでブランチ名を指定してから『git pull』コマンドを実行すると、リモートリポジトリのブランチがプルできます。

branchmergeと削除

分岐したブランチをマージするには、『git merge』コマンドを使います。まずはgit checkoutコマンドで作業中のブランチをmasterに切り替え、マージしたいブランチ名をgit mergeコマンドで指定しましょう。

あとはgit pushコマンドでリモート名とmasterを指定すると、リモートリポジトリ上でマージが反映されます。

実際の開発現場ではあまり行わない操作ですが、簡単なコマンドでブランチの削除も可能です。git branchコマンドで『-d』オプションとブランチ名を指定するだけで、指定したブランチを削除できます。

■関連記事

  SQLの勉強方法とは。学習時間や流れと学習ポイントを解説 | Java・フロントエンド研修のジョブサポート データベースを扱うエンジニアにとって、SQLの習得はほぼ必須です。データベースエンジニアになるためには、SQLを勉強する必要があります。どのようにSQLを学習すればいいのでしょうか。学習時間方法、や学習のポイントについて解説します。 Java・フロントエンド研修のジョブサポート

フロントエンド(HTML・CSS・JavaScript)入門5日ー株式会社ジョブサポート

初心者に扱いやすいGitHub Desktop

GitGitHubの組み合わせでは複数のコマンドを使い分けますが、コマンドを極力使わないGitHub Desktopでも同様の機能を利用できます。初心者にも扱いやすいGitHub Desktopについて、概要や導入方法を見ていきましょう。

GitHub Desktopとは

GitHub Desktop』は、デスクトップ上で簡単にリポジトリの操作ができる、GitHub社の純正ソフトウェアです。GUIを採用しているため、基本的にはコマンドを手入力する必要がなく、マウスを使って直感的に操作できます。

エディタは好みのものを引き続き利用できるので、リポジトリのクローンやプッシュなどだけはGitHub Desktopで行う、という使い分けが可能です。

GitHub Desktopの準備と使い方

GitHub Desktopの公式サイトにアクセスすると、トップページに『Download for macOSWindows)』というボタン・リンクが表示されます。

これをクリックすると、Macの場合はZIPファイルがダウンロードされます。解凍すると『GitHub Desktop.app』というフォルダができるため、フォルダごと/Applications内に移動しましょう。

Windowsの場合は、ダウンロードされるインストーラをそのまま起動し、インストールを完了させれば利用できます。

アプリケーションを起動すると、まずログインが必要です。アカウントを持っていない場合は、GitHub公式サイトで取得してからログインしましょう。

GitHub Desktop

GitHub Desktopのメリット

GitHubはブラウザ上で操作しますが、GitHub DesktopPC環境と統合されます。普段使っているアプリケーションで編集できるため、操作性はGitHubよりも快適です。

GitHubには、クローン(リモートからローカルへ複製)やフォーク(リモート内で複製)といった特有の機能があります。GitHubではクリックするだけでこれらの操作ができるため、GitHubより手間がかかりません。

また、GitHub Desktopは画像の差分表示にも対応しています。見やすいGUIで画像のバージョン管理ができることも、GitHub Desktopのメリットです。

初心者こそ活用したいGitHub

ソフトウェア開発では、複数の開発者がそれぞれの機能を分担してコーディングを行うことが一般的です。初心者では、バージョン管理まで意識して機能追加をするのは困難だと思います。

GitGitHubではブランチを利用して自然に作業分担できるうえ、バージョン管理は容易です。仕様上、プッシュ時のバージョンの不正操作はエラーが起こるため、ミスの防止にもなります。

初心者こそGitHubを活用して、開発者間のやり取りのロスやケアレスミスをなくしましょう。

​​​​​​​

法人研修の実績2500名以上!若手、新人エンジニア採用後

Java研修はジョブサポートお任せ下さい


ジョブサポートでは通年開講で貴社の希望開始日に合わせたJava研修(通学、オンライン・リモート講座)を行っています。助成金を活用すれば費用負担を軽減して研修受講ができるのため若手、新人エンジニア採用計画と合わせてご検討下さい。

新人・若手エンジニアの基礎知識、ビジネススキルを強化

プロエンジニア育成コース(Java研修1~3ヶ月)


メールマガジンの購読設定

ジョブサポートの最新情報をお届けするほか、

人事、採用教育担当者、若手エンジニア向けに

役立つ情報をお届けします。

アップロードしています。少々お待ちください。