全1767文字

最近のソフトウエア開発で必須のツールとも呼べる存在が、「GitHub(ギットハブ)」である。GitHubとは何か。使いこなすためのポイントを学ぼう。

 前回はGitHubの中心となる機能はバージョン管理ソフト「Git」だと説明した。Gitを利用すれば複数人が同時に開発作業を進められ、チームでの開発作業が効率的になる。今回はGitHubが備える課題管理とドキュメント管理機能について解説しよう。

課題管理機能の「Issues」

 システム開発には、設計、コーディング、テスト、障害対応など、様々なタスクが含まれる。これらをExcelなどで管理している読者も多いのではないだろうか。

 だがExcelによる管理は手軽な分、問題も多い。「ファイルを同時に編集できない」「課題と成果物の連携を手動で行わなければならない」などが代表的な問題だ。

 GitHub には、このような課題を管理するため、「Issues」という機能が用意されている。Issuesは課題を保管するだけではなく、課題について関係者間でコミュニケーションを取ったり、成果物と課題を連携させたりといった機能を持つ。

 課題をイシューとして登録すると、それぞれのイシューに専用のページが作成される。これにより、複数の開発者が異なる課題を解決するために同時に作業できる。作成されたイシュー単位で議論が進んでいき、成果物も関連付けられるので、関係する情報がまとまりやすくなる。

Issuesによる課題管理の機能例
Issuesによる課題管理の機能例
[画像のクリックで拡大表示]

 担当者を表す「Assignee」や、分類を表す「Label」、リリース時期を表す「Milestone(マイルストーン)」などの付加情報を添付できる点にも注目だ。適切なラベルを付与することで、「『enhancement(機能化)』のラベルがついたイシューだけを、ワンクリックで絞り込む」といった作業ができるようになる。

Issuesの検索結果とMilestone
Issuesの検索結果とMilestone
[画像のクリックで拡大表示]

 マイルストーンを利用して、「バージョン1.1に関連したイシューだけを一覧する」といったことも可能だ。マイルストーンには、ひも付いたイシューの総数と完了状況を一覧できる機能があるため、目標に対する進捗状況の管理に活用できる。

文書管理「Wiki」と「Pages」

 システム開発には、設計書、説明書、手順書など様々なドキュメント(文書)が欠かせない。こういったドキュメントは、ソースコードなどと一緒に管理するのが理想だ。GitHubではドキュメント管理機能も提供している。

 システム開発の現場では、WordやExcelを利用してドキュメントを作成することが多い。古いバージョンのWordでドキュメントを作成すると、同時編集ができずに、編集履歴も残らないといったケースがある。またWordやExcelでドキュメントを作成してしまうと、社内外の関係者に広く公開するドキュメントとして閲覧権限の設定などの扱いが難しくなる。

 そこでGitHubには「Wiki」と「Pages」という2つのドキュメント管理機能が用意されている。

 Wikiは主に開発チーム向けのドキュメントの管理に適している。「Markdown形式」と呼ばれる記法で、編集履歴を残しながらドキュメントを作成するのが特徴だ。Markdown形式は、「#」や「*」などの記号を使ってテキストを書くと、それらを見出しや箇条書きなどにして表示してくれる専用のテキスト記法だ。

Wikiの画面例
Wikiの画面例
[画像のクリックで拡大表示]