バージョン管理システムのGitHubは、ITエンジニアにとって欠かせないバージョン管理システムです。コードの変更履歴を記録・追跡でき、複数人での開発や並行作業がスムーズに行えるだけでなく、過去の状態に簡単に戻すこともできるため、現在のIT開発では非常に重宝されています。
このコラムでは、GitHubの基礎から実際のアカウント作成手順まで、初心者ITエンジニアが知っておきたいポイントを紹介します。ぜひ、GitHubの基礎を知り、GitHubの導入に役立ててください。
まずは「GitHub」がどのようなものかを解説します。
GitHubについて知るには、まず「Git」についての理解が必要です。
「Git」はCUIツール(コマンドラインツール)の一種で、プログラムのソースコードや、それらの変更履歴を記録・追跡するために使われます。利用する際はPCへのインストールが必要です。
Gitは、ITシステムの開発現場で広く利用されており、多くのエンジニアやプログラマーに愛用されているほか、デザインやテキストのバージョン管理も可能なことから、デザイナーやライターが利用するケースもあります。
「GitHub」は、「Git」を用いたクラウド型のWebサービスです。Gitはインストール型のツールでしたが、GitHubはオンライン型のサービスとなっている点が大きく違います。
Gitにはない機能も追加されており、ITエンジニアをはじめとした開発者にとって、より使いやすいサービスとなっています。多くのITエンジニアが利用している、いわば定番のツールといえるでしょう。
GitやGitHubは、「バージョン管理システム」と呼ばれるツールです。
バージョン管理システムとは、プログラムやデザイン、テキストなどについて、「誰が、いつ、どのような変更をしたか」を記録するシステムのこと。変更前後での違いを簡単に確認できるようになり、変更前の状態に戻すことも容易になります。
ITシステムなどの開発現場では、バグが発生した際に問題が起きた箇所の発見がしやすくなるほか、変更前のソースコードに戻すことも簡単です。こうした特性から、現在のIT開発の現場において欠かせないものとなっています。
バージョン管理システムは、各ローカルでバージョンを管理する「分散型」と呼ばれるバージョン管理システムです。他の多くは単一のサーバで管理する「中央集中型」となっており、この点で異なります。
中央集中型は仕組みがシンプルで、アクセス制御しやすいことからセキュリティの維持も容易です。一方の分散型は、オフラインでも管理できることや、異なるタスクに対して並行して作業を進められること、サーバがダウンしても作業が損失しないなどのメリットがあり、より大規模な開発に向いています。
GitHubでは「プッシュ」「プル」など専門用語が使われます。これらの意味がわかると、利用開始がスムーズになるはずです。
Git/GitHubでは、「リポジトリ」という場所をつくり、そこにファイルやフォルダを保管してバージョン管理をします。
この「リポジトリ」には、自身のPC端末上に作成する「ローカルリポジトリ」と、クラウド上(Gitの場合はWebサーバ上)に作成する「リモートリポジトリ」があります。
リモートリポジトリは他のエンジニアとソースコードを共有するために利用するものなので、ソースコードを変更する場合は、まずローカルリポジトリを変更し、完成したらリモートリポジトリに反映させます。これがGit/GitHubの基本的な使い方です。
Git/GitHubを利用するときは、ローカルリポジトリとリモートリポジトリを適宜更新する必要があります。そこで使われるのが、コミット/プッシュ/プルといった用語です。
ローカルリポジトリに変更を加えることを「コミット」といいます。変更者、変更した日時、変更の内容が記録されます。変更履歴として後から確認可能です。
ローカルリポジトリに「コミット」した内容を、リモートリポジトリに反映することを「プッシュ」といいます。プッシュすると、リモートリポジトリ内の変更履歴が更新されます。
リモートリポジトリの最新の変更履歴をダウンロードして、自分のローカルリポジトリに反映することを「プル」といいます。
ブランチとは、リポジトリをコピーして分岐させる機能です。分岐させたブランチは、他からの影響を受けないため、複数機能の開発などを、他のメンバーの影響を受けずに並行して行えます。
また、複数人で並行して開発する際にも利用します。その場合は、各エンジニアがそれぞれに作業を行い、終了したらメインのブランチに変更内容を反映させます。
また、操作するブランチを切り替えることを「チェックアウト」といいます。
GitHub上で他のユーザーが所有しているリポジトリを、自分のリポジトリにコピーすることを「フォーク」といいます。
大元となるリポジトリの編集・アクセス権限がない場合にフォークを使うと、大元のリポジトリに影響を与えずに、編集できるようになります。主に、フォークを編集した上で、変更提案などをする場合に使われます。
「マージ」とは、変更を行った複数のブランチを1つに統合することです。マージを行うシーンは主に2つあります。
1つは、変更作業が終わり、その内容をメインのブランチに反映させたいときです。この場合は、マージすることで変更が本番環境に反映されます。
もう1つは、ブランチを作成した時点と、メインのブランチの内容が変わったときです。この場合は、マージすることで自身が作業しているブランチも最新の状態になり、後々マージする際に問題が起こりづらくなります。
ここでは、実際にGitHubを利用するまでの手順を紹介します。
最初に、下記のサイトから「Git For Windows」をダウンロードします。
ダウンロードが完了したらファイルを展開します。次の画面が表示されるので、ライセンスを確認して「Next」をクリックします。
インストール先ディレクトリを設定します。基本的に初期状態のまま進めて構いません
インストールの選択オプションです。こちらも、基本的に初期状態のまま進めて構いません
スタートメニューを追加するかの確認です。通常はこのまま進めます
使用するエディタを選択します。ここでは「Visual Studio Code」を選択
「Override the default branch name for new repositories」を選択しNextをクリック
「Git from the command line and also from 3rd-party software」を選択しNextをクリック
SSHの設定です。通常はそのままNextをクリック
SSL証明書に関する設定です。通常はそのままNextをクリック
コミット時の改行についてのオプションです。多人数で開発を行う場合「Checkout as-is, commit Unix line endings」を選択することを推奨。選択したらNextをクリック
使用するコンソールの選択です。通常はそのままNextをクリック
プルする際の動作の設定。通常はそのままNextをクリック
Gitに接続する際の補助認証に関する設定。通常はそのままNextをクリック
キャッシュに関する設定。通常はそのままNextをクリック
試験的なオプション。通常はどちらも選択せずNextをクリックでOK
インストール開始
この画面が表示されたらインストール終了です
インストールされた「Git Bash」を立ち上げます
立ち上げると次のような画面が表示されます
次の要領でユーザー名とメールアドレスを設定します。
git config –global user.name “ユーザー名” |
git config –global user.email “メールアドレス” |
GitHubのWebサイトのトップページ中央にある「Sign up for GitHub」にメールアドレスを入れ、アカウント作成を開始します。
画面の指示に従って、パスワードやユーザーネームを登録し、すべて入力したら右下の「Continue」をクリックします。
登録したEメールアドレスにパスコードが送られるので入力します
登録完了すると、簡単な質問がいくつか表示されるので答えていきます。
すべての質問に回答すると、料金プランを選ぶ画面になります。個人で利用する場合は、Freeプランを選んで登録を終了します。これでGitHubアカウントの作成完了です。
GitHubには注目すべきオプション機能が用意されています。AIコーディング支援の「GitHub Copilot」と、CI/CDツール「GitHub Actions」です。
2022年にリリースされた「GitHub Copilot」は、AIを利用したコーディング支援機能です。関数やコメントから適切なコードを予測し、AIがエンジニアに提案します。プログラミング言語にも幅広く対応し、Python、JavaScript、Ruby、Go、C#、C++などでの提案が可能です。
GitHub Copilotがすべてのコーディングを行うことはまだ難しいものの、コーディング支援ツールとしてはかつてない精度があるとされ、多くのITエンジニアから好意的に受け入れられています。開発スピードの向上、エンジニアの負担軽減といった効果が見込まれ、新たなプログラミング言語の習得も早くなると期待されています。
GitHub Copilotは有料プランになっており、月払い($10/月)と年払い($100/年)が選べます(2024年5月現在)。詳しくは公式ページをご覧ください。
GitHub Actionsは、GitHub上で「CI/CD(継続的インテグレーション/継続的デプロイ)」を実現する自動化ツールです。
CI/CDは、ソフトウェアを開発する際、ソフトウェアの変更を常に自動でテストしておき、すぐにリリース可能な状態にしておく手法のことを指します。とくに、アジャイル開発やDevOpsといった開発手法で必要とされることで、近年注目を集めています。
通常、CI/CDを行うには専用のツールが必要ですが、GitHub ActionsであればGitHub上でCI/CDが実現できるため、日頃から開発ツールとしてGitHubを利用しているチームでは、導入コストが最小限で済みます。また、別のツールを立ち上げる必要がなく、実務面でも大きなメリットがあります。
GitHub Actionsは有料になっており、プランによって料金が異なります。詳しくは公式ページをご覧ください。
Git/GitHubは、ITエンジニアの強力な味方です。広く利用されているシステムのため、初心者ITエンジニアや、エンジニアを目指す方が使い方を覚えておけば必ず役立つでしょう。
また、AIコーディング支援の「GitHub Copilot」など注目の新機能もあり、こちらも初心者ITエンジニアにとって心強い味方になるはずです。ぜひ、ここで紹介した知識を活かして、GitHubを使ってみてください。
掲載日:2024年7月30日