GitHubは、コードの保存、変更、追跡、管理に役立つ開発者向けのクラウドベースサービスです。GitHubについて理解するには、以下2つの用語が重要になります。
- バージョン管理
- Git
この記事では、この2つの原則についてご説明し、GitHubとは何か、そしてWordPressやKinstaでGitHub使用する方法をご紹介していきます。
バージョン管理とは
バージョン管理は、開発者がソフトウェアプロジェクトのコードの変更を追跡・管理するのに役立つ仕組みです。ソフトウェアプロジェクトの規模が大きくなればなるほど、バージョン管理は不可欠になります。WordPressが良い例です。
世界中に広く普及しているWordPressは、今や巨大プロジェクト。コア開発者がWordPressのコードベースのある特定の部分を変更したい場合、公式のソースコードを直接編集するのは、安全でないことは何となく想像がつくでしょう。
バージョン管理の仕組みを利用すれば、このような状況でブランチとマージを通して安全に作業を行うことができます。
ブランチ(分岐とも)でソースコードの一部(リポジトリ)を複製し、その他の領域に影響を与えることなく、安全に変更を加えます。
そして、変更を加えたコードの一部を正しく動作させたら、そのコードをメインのソースコードにマージして、変更を反映します。
これらの変更はすべて追跡され、必要に応じて復元も可能です。
Gitとは
Gitは、2005年にLinus Torvalds氏によって開発されたオープンソースのバージョン管理システムです。
具体的には分散型バージョン管理システムで、コードベース全体と履歴がすべて無料で公開されているため、ブランチやマージが簡単に行えます。
Stack Overflowの開発者を対象とした調査によれば、87%以上の開発者がGitを使用しています。
GitHubとは
GitHubは、クラウドベースのGitリポジトリをホスティングしているサービスです。基本的には、個人や企業がGitを使用してバージョン管理や共同作業を行うことを支援しています。
GitHubのインターフェースは使いやすく、経験の浅いコーダーでもGitを簡単に活用することができます。GitHubなしでGitを使用するにはちょっとした専門知識が必要になり、コマンドラインを使用しなければなりません。
その使いやすさから、本の執筆などのプロジェクトを管理するために利用している人もいるほどです。
さらに、誰でも無料でアカウントを作成し、公開コードリポジトリをホストできるため、オープンソースプロジェクトで特に重宝されています。
GitHubは企業として、プライベートリポジトリ向けのより高度なツールが付帯する有料プランを提供し収益を上げています。企業向けのプランでは、チームメンバーやセキュリティの管理がより行いやすく、Kinstaでも社内プロジェクトの管理と開発にGitHubを幅広く活用しています。
GitとGitHubの違いについて動画での解説もご用意しています。
GitHubのインターフェース
GitHubリポジトリでホストされているWordPressのソースコードを例に、GitHubのインターフェースを見てみましょう。
この画面で、現在作業中のさまざまなブランチやコミット(ファイルなどの変更を記録すること)を確認できます。リポジトリの設定によっては、自分でブランチを作成してそこにコミットすることも可能です。
変更を加えたら、プルリクエスト(pull requests)を作成してそのコードをブランチに戻すことができます。プルリクエストとは言うなれば、ブランチの担当者にコード追加をお願いするための通知で、ブランチの担当者はプルリクエストを受けて、変更したコードを確認します。
自分のアカウントでWordPressのソースコードの一部または全体を長期的に編集したい場合は、「Fork」をクリックして、フォークすることも可能です(ブランチと似た概念だが、フォークの方がより長期的な編集が目的)。
ちなみに、WordPressは、元々b2/cafelogというソフトウェアのフォーク(後継)です。GitHubのより詳しい使用方法はこちらを参照してください。
KinstaでGitとGitHubを使用する方法
Kinstaでは、Gitクライアントを提供しており、SSH経由でGitHub(または他のGitサービス)から自分のGitリポジトリを取得することができます。
KinstaでGitまたはGitHubを使用する詳しい手順はこちらをご覧ください。
WordPressでGitやGitHubを使用する方法
WordPressのテーマやプラグイン開発者の多くは、プロジェクトのソースコードをGitHubでホストしています。ElementorのコードやZerif Liteテーマのソースコードはその代表例です。
別の方法として、WordPressプラグインを使用してGitをWordPressでより直接的に扱うことも可能です。
例えば、VersionPressプラグインでは、投稿の更新やプラグインのインストールといった基本的な操作にGitを利用し、WordPressのデータベースとファイルの両方にバージョン管理を実装できます。
WP PusherもGitベースのプラグインで、テーマやプラグインをGitHubからWordPressサイトに直接デプロイできます。
GitHubを使い始めるには
これからGitHubを使い始める方は、以下の手順を参考にしてみてください。
- GitHubの無料アカウントに登録する
- GitHubのHello Worldドキュメントに目を通して、一般的なアクションを学ぶ
- WordPressのバージョン管理について理解する
- GitとGitHubの違いと使用方法について理解する