GitHubとは
GitHubは、Gitというバージョン管理システムのリポジトリをホスティングするサービスで、全世界の400万人以上のエンジニアが利用しています。では、なぜGitHubはこれほどまでにエンジニアの支持を集めているのでしょうか。それは、開発、コードレビュー、テスト、デプロイなどエンジニアが行う日々の行為を、GitHubが文字どおり「ハブ」となることで効率的に行えるようになるからです。GitHub自身が用意している機能や、他ツールとの連携により実現する機能により、統一的なインタフェースで開発のほとんどの作業をGitHubから行えるようになります。
GitHubの目玉機能「Pull Request」
GitHubが提供する機能はさまざまなものがありますが、中でも特徴的なのが「Pull Request」という機能です。Pull Requestは、あなたが変更したソースコードを取り込んでもらえるようにリクエストするための機能です。実際にPull Requestを行うと図1のような画面が表示されるのですが、この画面で、変更内容の確認、変更に関する議論などを行えます。また、コードの行単位でコメントを付けての議論もできるので、コードを主体としたコミュニケーションが非常に行いやすいのです。
図1 Pull Requestの画面
さらに、図2のようにPull Requestされたコードがテストを通過しているか、あるいは失敗しているかも表示されるので、動作しないコードを取り込んでしまう危険性を回避できます。
図2 テストに失敗している
Pull Requestや開発フローを体験
しかし、GitHubを利用して効率的な開発を行うのは、はじめてGitHubを利用する人には敷居が高いのも事実です。
そこで本書では、解説をもとに実際にPull Requestを送るのを体験できるサンプルサイトを用意しています。このサイトではPull Requestを受けるのも体験できるので、Pull Requestを利用した開発の基本を身に付けることができます。
また、GitHubを中心とした開発フローである「GitHub Flow」「Git Flow」も実際に手を動かしながら疑似体験できるようになっているので、実際に現場で使える開発フローを身に付けられます。
本書の特徴
このように、本書では「実際に手を動かして身に付ける」ことを重視しています。Gitの基本からGitHubの各種インタフェースの解説も行っているので、はじめてGitHubを利用する方も迷わず基本的な操作を行えるようになります。
また、開発を行う際に役立つTIPSや、Jenkinsなどをはじめとする外部ツールと連携した環境の構築方法まで取り上げているので、さらにGitHubを使いこなしたい方にも参考になるはずです。