じめに

「はじめに」⁠GitHub実践入門─⁠─Pull Requestによる開発の変革』より転載

本書は、世界中の開発者が行っているGitHubを利用した開発方法を、みなさんが現場で使えるようになるためのガイドとして執筆しました。よって、GitHubの解説だけにとどまらず、開発ワークフローやそれを支えるほかのツールにも踏み込んで解説しています。

あなたの開発現場で、次のようなことに心当たりはありませんか?

  • コードレビューが十分にできていない。レビューにスピード感がない
  • 書いた本人しか知らないコード、不安に感じるコードが本番環境にデプロイされる
  • 書き間違い、思い違いによる簡単なコードのミスにより不具合が多発する
  • コードをお互いに見せ合って、知識共有や相互学習・指摘・改善するような機会がない
  • 1日に何個もの機能を追加できるようなシンプルで高速な開発ワークフローではない

GitHubを活用すれば、この問題を解決するきっかけや機能を提供してくれます。本書にはそのノウハウが凝縮されています。

筆者は多数の企業にGitHubを導入し、ワークフローの改善を行いました。それをまとめた本書が開発現場を良くするために必ず役に立つと信じています。

謝辞

本書の執筆にあたって、多くの方にご協力をいただきました。順不同ですがご了承ください。@yamanetoshi氏、増田貴士(@masutaka)氏、bakorer氏、@ainame氏、山科佑貴氏、寺田渉氏、Tatsuma Murase氏、杉野康弘氏、澤義和氏、 本当にありがとうございました。

また、技術評論社の池田大樹氏にはこの本を形にするために長期に渡りご尽力を賜り、心から感謝申し上げます。

2014年2月 大塚弘記

本書の構成

本書は、全10章と2つのAppendixにより構成されています。

第1章:GitHubの世界へようこそ

GitHubとは何か、どこが革新的なのかなどを解説しています。オープンソースソフトウェアの世界にGitHubは革命とも言うべきソーシャルコーディングを提供しました。これについて触れるとともに、得られる恩恵や機能を簡単に解説しています。

第2章:Gitの導入

バージョン管理システムであるGitは、GitHubを利用するうえで必須です。本章ではGitの知識と理解を深めるとともに、実際に動作させるための手順を解説しています。

第3章:GitHubを利用するための準備

GitHubを利用するにあたり、アカウントの開設(無料)から、本格的に利用する前に設定しておいたほうがよいものなどを手順を追って解説しています。

また、動作確認を含めて実際にGitHubにリポジトリを作成し、コードを公開する手順を解説しています。

第4章:Gitを操作しながら学ぶ

GitHubを利用するうえで必要なGitの基本的な知識と操作方法について、実際にGitを操作しながら学んでいきます。

基本的な操作から、複数人で開発するうえで必要になる複雑な操作まで実際に手を動かして一通り実践できます。

第5章:GitHubの機能を徹底解説

GitHubの機能について、画面を一つ一つ確認しながら解説しています。ソースコードビューアとしての機能も詳細に解説しています。快適に動作するUIを味わってください。

GitHubを使っている人も、一度目を通すことをお勧めします。明日から使えるTipsを見つけられるはずです。

第6章:はじめてのPull Request

GitHubを代表する機能であるPull Requestについて、実際に手を動かして試せるように構成しています。ぜひ本書を参考にはじめてのPull Requestを送ってみてください。

第7章:Pull Requestが送られてきたら

リポジトリをメンテナンスする側の視点に立って、Pull Requestが送られてきた場合にどのように考え、判断し、操作をすればよいのかを解説しています。

第8章:GitHubと連携するツールとサービス

前半ではGitHubをCLIから操作するためのhubコマンドを解説しています。また、継続的インテグレーションとして、GitHubと連携できるTravis CI、Jenkinsの構築、設定方法について解説しています。

そのほか、GitHubと簡単に連携して使えるサービスを多数紹介しています。

第9章:GitHubを利用した開発フロー

GitHubを中心として開発をするGitHub Flow、Git Flowという2つの開発ワークフローについて、詳細に解説しています。それぞれに共通して、チームで開発するための心得から、それぞれのワークフローの特徴を含め、実際に手を動かして体験できる構成にしています。

第10章:会社でGitHubを使おう

会社でGitHubを採用する際に考えるべきことや役立つ情報をまとめています。セキュリティ、障害情報、事前に考えておくべきこと、GitHub Enterpriseの検討など、実際にGitHubを導入をする人が考えるであろうことや知っておくべきノウハウを解説しています。

Appendix A:GitHubをサポートするGUIクライアント

チームの誰もがCLIの操作に慣れているわけではないと思います。そこで、GitHubをサポートするGUIクライアントツールについてまとめています。

Appendix B:Gistで手軽にコードを共有

ちょっとしたサンプルコードやログなどをほかの人と共有するのに役立つ、Gistについて解説しています。日々の小さなコードはこちらを活用すると便利です。

大塚弘記(おおつかひろき)

アジャイルソフトウェア開発を現場で推進するアジャイルリーダーシッププログラマ。複数の企業やチームにWebアプリケーション開発やサービス改善の指導,コンサルティングを行う。GitHubを活用し,1日に何度も機能をデプロイする開発体制を企業やチームに導入した経験を豊富に持つ。

URL:http://hiroki.jp/
Twitter:@HIROCASTER