※当ブログではアフィリエイト広告を利用しています。
多くのオープンソースプロジェクトが公開されているサイト「GitHub」について、英語サイトであることやバージョン管理システムのGitの知識が必要だったりすることで敷居が高いイメージがありました。
そこでGitHubについて詳細に解説された書籍「GitHub実践入門」を読んでみてGitHubについての理解を深めることができたので、概要と読んでよかった点をメモします。
GitHubとは?
バージョン管理システム「Git」で管理されたコードをホスティングし、同僚や友人、世界中の人とコードを共有するためのサービスです。多くのオープンソースプロジェクトが公開されています。
GitHub · Build software better, together.
GitHub実践入門について
GitHubのサイトやサービスの使い方が詳細に解説された書籍です。バージョン管理システムのGitについて解説された本はいくつかありますが、GitHubのサービス自体について解説している書籍はおそらく初ではないかと思います。
目次は以下の通りです。
- 第1章 GitHubの世界へようこそ
- 第2章 Gitの導入
- 第3章 GitHubを利用するための準備
- 第4章 Gitを操作しながら学ぶ
- 第5章 GitHubの機能を徹底解説
- 第6章 はじめてのPull Request
- 第7章 Pull Requestが送られてきたら
- 第8章 GitHubと連携するツールとサービス
- 第9章 GitHubを利用した開発フロー
- 第10章 会社でGitHubを使おう
著者は多くの企業にGitHubを導入し、アプリケーション開発やサービス改善のコンサルティングを実施されている大塚弘記氏です。同氏のブログ「Act as Professional」ではプログラマーとしての心得に関する記事がありそちらもオススメです。
本書をおすすめしたい理由
図やスクリーンショットが豊富
文章で説明されていることを表した図やGitHub各サービスのスクリーンショットが豊富に掲載されており非常にわかりやすいです。特にGitブランチを切り替えたりマージするときの説明部分で、状態がその都度図で表現されているのが理解を助けてくれました。
Gitそのものについても解説されている
GitHubを使うにあたってGitについては知っておく必要がありますが、本書では以下のような基本的なことから図入りで丁寧に解説されており、Gitそのものを知らなくてもGitHubを使うにあたって困ることがないよう配慮されています。
- 集中型バージョン管理システムと分散型バージョン管理システムの違い
- Gitのインストール・初期設定方法
git init
、git branch
、git push
などの基本的なGitコマンド
実際に手を動かして学習することができる
GitHubでのリポジトリの作成に始まり、各種Gitコマンドを使用して実際にGitHubの使い方を学習できる流れとなっています。
特にGitHub固有の機能で試しにくい「Pull Request」も、書籍の感想を送るという方法で実際に体験できるようになっているのがうれしい点です。
本エントリを書いている時点では未反映ですが、Pull Requestが取り込まれると以下のページに私が送った書籍の感想が掲載されるはずです。
リンク:GitHub実践入門 : はじめての Pull Request 特設サイト
GitHubを利用した開発フローについても解説されている
単なるGitHubの使い方だけに留まらず、チームでGitHubを有効に利用する開発フロー「GitHub Flow」についても詳細に解説されています。
master
ブランチは常にデプロイできる状態とする- 新しい作業をするときは
master
ブランチから記述的な名前のブランチを作成する- 作成したローカルリポジトリのブランチにコミットする
- 同名のブランチをGitHubのリポジトリに作成し、定期的にpushする
- 助けてほしいときやフィードバックがほしいときはPull Requestを作成し、Pull Requestでやりとりする
- 他の開発者がレビューし、作業終了を確認したら
master
ブランチにマージするmaster
ブランチへマージしたら、ただちにデプロイする引用元:GitHub実践入門 p200 GitHub Flowの流れ
もちろんGitHub Flowについても実際に手を動かして学習できる流れとなっています。
GitHubを便利に使うためのソフトが紹介されている
GitHub for MacやGitHub for Windows、SourceTreeなどのGitHubを便利に使うためのソフトも紹介されています。また社外にソースコードを置けない企業のためのGitリポジトリホスティング方法についても記載されています。
多くの企業にGitHubを導入された筆者ならではの視点だと感じました。
おわりに
実践入門というタイトルだけあって実際に手を動かすことでGitHubについて学ぶことができる良書でした。
iOS開発をしているとオープンソースのライブラリやフレームワークにはお世話になりっぱなしだったりします。GitやGitHubの使い方を学ぶことで、自分も少しずつオープンソースの世界に貢献できたら良いと思いました。