GitHub Projectsの使い方
GitHub(ギットハブ)はソフトウェア開発を支える世界的なプラットフォームです。GitHubはプログラム(ソースコード)などをホスティングするサービスであり、エンジニアには必須ツールと言えます。
そのGitHubが提供するプロジェクト運用ツールがGitHub Projectsです。この記事では、「GitHub プロジェクトとは何か」が分かるように、GitHubの概要や用語、GitHub Projectsの概要、メリット、作成手順、活用方法などについて紹介します。
そもそもGitとGitHubの違い
「Git」は、プログラム(ソースコード)の変更履歴を記録して追跡をしたり、バージョンを戻したりできる「分散型コードバージョン管理システム」の名称です。
「GitHub」は、Gitの作業をプロジェクトやチームメンバー間でやりとりができるWebサービスの名称です。GitHubを利用することで、世界中の人々が作成したコードやデザインを保存・公開できます。
【参考】:Git---distributed-is-the-new-centralized 【参考】:GitHub Japan | GitHub
GitHubを使う上で知っておきたい用語
GitHub Projectsを使う前に、GitHubを利用する上で知っておくべき用語があります。GitHubが初めての方は、予備知識として理解しておきましょう。これらの用語はGitHub Projectsでも使用します。
リポジトリ(Repository)
GitHubでは必ず保管場所としてリポジトリを利用します。リポジトリには「リモートリポジトリ」と「ローカルリポジトリ」の2種類がありますので、理解しておきましょう。
1:リモートリポジトリ リポジトリは倉庫という意味で、GitHub上ではディレクトリやファイルなどの情報を保管する場所を指します。リモートリポジトリは、ネットワーク上にあり、エンジニアはリモートリポジトリにアップデートすることで、他のメンバーと共同作業が行えます。
2:ローカルリポジトリ ローカルリポジトリは自分のパソコンなど、ローカルに保存されたリポジトリです。エンジニアはローカルリポジトリでファイルの編集を行い、更新した内容をリモートリポジトリにアップして他のメンバーと共有します。
フォーク(Fork)
リポジトリのコピーを意味します。オリジナルのリポジトリをローカルにコピーして、編集や改変をオリジナルへの影響を与えずに行うことをフォークと言います。
プルリクエスト(Pull Request)
オリジナルからコピーしたリポジトリに変更を行い、その変更結果をオリジナルに反映したい場合に利用します。オリジナルのオーナーに対して変更を依頼する機能です。
マージ(Merge)
プルリクエストを受けたオーナーが、その変更内容を自分のリポジトリに取り入れる機能です。マージはGitHubの特徴の1つで、万が一間違えてマージしても元の状態に戻せるため、安心して操作できます。
コミット(Commit)
コミットはリビジョンとも呼び、GitHub上の追加や変更の履歴をリポジトリに保存することです。コミットにより、変更箇所と、変更者、変更日時などの記録が保持されます。
プッシュ(Push)
ローカルリポジトリをリモートリポジトリにアップロードして、自分のコミットをリモートリポジトリに反映することです。その反対はPullです。
ブランチ(Branch)
ブランチとは1つのプロジェクト本体から分岐させ、本体に影響を与えないように開発を行う機能のことです。バグの修正や機能追加を行う際に利用します。
GitHub Projectsの作成手順
GitHubはカンパン形式によるタスク管理機能として、「Projects」をリリースしました。それまでの従来GitHubではタスク管理機能がなかったため、ユーザはさまざまな別のツールを利用していました。
その後、「Projects」が登場し、ユーザはGitHub内でシームレスにタスク管理が行えるようになったのです。
GitHub Projectsの特徴や機能
GitHub Projectsは、GitHub上でタスク管理やプロジェクト管理を効果的に行うための機能です。以下にGitHub Projectsの特徴と使い方を解説していきます。
1.プロジェクトボードの作成 GitHub Projectsでは、プロジェクトボードを作成できます。プロジェクトボードはカスタマイズ可能で、タスクの整理や進捗管理が行えます。
2.タスクの整理と優先順位付け タスクをカードとしてプロジェクトボードに追加できます。カードには優先順位を付けて整理できます。
3.ステータスの管理 プロジェクトボードの列にステータス(例:“To Do”、“In Progress”、“Done”)を設定できます。タスクの進捗状況をステータスごとに管理できます。
4.タスク移動の自動化 イベントトリガーを設定してタスクの自動移動が行えますので、プロジェクト管理の効率が向上します。
5.共有とコラボレーション Projectsの管理では具体的なタスクを示すカード(Noye)を利用します。カードにはユニークなURLが付与され、チーム内でタスクを共有でき、チームメンバーとのコラボレーションが容易に行えます。
6.Noteの追加とIssueへの変換 メモ書き(Note)をプロジェクトボードに追加できます。Noteは必要に応じてIssueに変換します。Issuueとはメンバー間の共有事項や確認事項をスレッド形式で共有する機能で、 Pull Requestや変更履歴、ソースコードなどを課題と紐付けして管理できます。
7.複数リポジトリに対応 GitHubでは必ずリポジトリを利用し、目的によって複数のリポジトリを利用しますが、Projectsは複数のリポジトリにまたがったプロジェクトの状況について、一覧で把握し、管理することが可能です。
GitHub Projectsは、プロジェクト管理をGitHub内で完結させるための便利な機能であり、チーム開発において活用されています。
【参考】:Projects について | GitHub Docs | GitHub 【参考】:project の作成 | GitHub Docs | GitHub
GitHub Projectsの使い方
これから実際にGitHub Projectsの操作をしながら、使い方について紹介します。GitHubアカウントが必要ですので、未取得の方は、GitHubの公式サイトからサインアップし、プロンプトに従ってアカウントを作成しておきましょう。
【参考】:GitHub
GitHubにログインする
GitHubの「Sign in to GitHub」にアクセスし、GitHubアカウント(Eメールアドレス)とパスワードでログインします。
リポジトリの作成
GitHubの「Your Profile」ページ右上の「+」マークをクリックし、プルダウンから New repositoryをクリックします。
「Create a new repository」のウィンドウが開いたら、リポジトリ名を入力(例:MyTask)し、続いて公開/非公開設定(Public or Private)を選択し、非公開にする場合にはPrivateにチェックを入れます。
続いて、同じウィンドウの下半分にある「 Add a README file」にチェックを入れ、右下の[Create repository]ボタンをクリックします。これで、「My Task」という名前の自分専用のリポジトリが作成されました。
※チェックを入れることでReadMe.mdというマークダウン形式のファイルが自動で作成されます。
プロジェクトの作成
ここから、作成済みのリポジトリにProjectを作成していきます。GitHub画面の左上の [≡]ハンバーガーボタンをクリックし、表示メニューから「Projects」を選択し、以下の「Welcome to the New Projects」画面で
[New project]ボタンをクリックします。
表示されたウィンドウから「Team planning • GitHub」を選択したら、任意のProject nameを設定し、[Create project]ボタンをクリックします。ここではXX-Projectと名付けました。
プロジェクトボードにはタブがあり、「バックログ」「チームキャパシティ」「反復作業」「ロードマップ」「My Item」のViewがデフォルトで設定されています。
また列にはステータス(例:“To Do”、“In Progress”、“Done”)を設定できます。これらの機能を使ってプロジェクトやタスクの管理が行えます。ロードマップはガントチャート風の表示もできます。
▪ToDo:取り組む予定のタスクを管理する ▪In Progress:進行中のタスクを管理する ▪Done:完了したタスクを管理する
各タブのViewごとに、▼プルダウンから「Table」形式、「Board」形式、「Roadmap」形式の3種類からレイアウトが選択でき、さらにそれぞれの中ではConfigurationt(構成)を選択できます。
各Viewごとのタスクの追加は、各ステイタスの下にある[+ Add item]ボタンをクリックし、テキスト入力をしていきます。各タスクはドラッグ&ドロップで簡単に移動できますので、タスクの管理が苦になりません。
またプロジェクトは終了したら削除ができますが、内容を保持しておき、後から開きなおすこともできます。
GitHub Projectsを活用しよう
ここまで、GitHubの新たな機能Projectsについて、GitHubの概要や用語、GitHub Projectsの概要、メリット、作成手順、活用方法などを解説しました。GitHubは理屈よりも触ることで概念が理解でき、使いやすさが分かってきます。
今後エンジニアを目指すなら、プロジェクトの一員としてGitHub Projectsを利用する機会があるでしょう。その前に個人的なタスクの管理などProjectsを利用しておくと、プロジェクト管理にも抵抗なく入っていけるでしょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから