🖋️

GitHub Issue Templateを使ったら開発が快適になった話

に公開

はじめに:Issue作成どうしていますか?

・個人開発やチーム開発で、GitHubのIssueを使っていますか?タスク管理に便利ですが、「毎回同じことを書くのが面倒…」「どう書くのがベストなんだろう?」と感じることもあるかと思います。
・私もそうでした。しかし、あるインターンに参加した際、同じチームの方からIssueを起点とした開発フローを、社員の方から効率的なコミット方法を教えてもらい、開発がめっちゃ快適になり、作業スピードも爆上がりしました。
・この記事では、その時に学んだ「Issue Template」を活用した、計画的で快適な開発フローを紹介します。

前提知識:4つの基本要素

本格的なフローに入る前に、基本となる4つの用語を簡単におさらいします。
Issue(イシュー): やることリスト(タスク)やバグ報告などを記録する場所。
Branch(ブランチ): 作業場所を分けるためのもの。mainブランチから自分の作業用ブランチを生やして開発を進めます。
Commit(コミット): ファイルの変更を記録するための操作。セーブポイントのようなものです。
Pull Request(プルリクエスト): ブランチでの変更をmainブランチに取り込んでもらうよう依頼すること。

Issue Templateを設定しよう

まず、Issueを効率的に作成するための「テンプレート」を設定します。毎回何を書くか迷う必要がなくなり、タスクの粒度が揃います。
設定方法:

  1. リポジトリ>Settingのページを開きます。
  2. Features>Isssues>「Set up templates」をクリックします。
    3.「Add template: select」>「Custom issue template」をクリックします。
  3. 次のような編集画面が出てくるのでそれぞれ設定してみましょう。

    Template name:Issueを作成するときのこのテンプレートの名前
    about:Issueを作成するときのこのテンプレートの説明文
    Template content:Issue内容のテンプレートです。(Markdoen形式)
    Issue default title:Issueタイトルのデフォルト設定
  4. 右上の「Propose changes」から「commit changes」を押して保存しましょう。
    これでテンプレートが作成されました!

おすすめ:めっちゃ快適な開発フロー

Issueを起点とした開発フローをステップごとに解説します。

Step 1: Issueを作成する

・新しい機能追加や修正など、やるべきことができたらまずIssueを作成します。
・リポジトリからIssues>「New issue」をクリック。

・ここで先ほど作成した「Template name」と「about」がかかれたテンプレートがでてきます。

・先ほど設定したテンプレートを使い、タイトルや作業内容を具体的に記述します。

Step 2: ブランチを作成する

・作成したIssue番号を使ってブランチを作成します。こうすることで、どのIssueに関する作業ブランチなのか一目でわかります。
・例:Issue番号が#15なら、ブランチ名はfeature/15やfeature/15-login-functionのようにします。

# Issue番号15に対応するブランチを作成し、移動する
git checkout -b feature/15

Step 3: コミットメッセージにIssue番号を入れる

・開発を進め、キリの良いところでコミットします。
・この時、コミットメッセージの最初に(#[Issue番号])を付けます。

# Issue番号15に対応するブランチを作成し、移動する
git add .
git commit -m "(#15) feat: ログインフォームのUIを作成 "
git push origin feature/15

◎後からGitHub上でIssue番号をクリックするだけで、関連するコミットを一覧で確認できます。

Step 4: Pull RequestでIssueを閉じる予約をする

・作業が完了したら、Pull Requestを作成します。
・PRの説明文にcloses #[Issue番号]と記述します。

closes #15

適宜マージすることでIssueからタスク管理が簡単にできるようになります!

まとめ

個人開発こそ、Issueを積極的に活用して計画的に開発を進めてみてはいかがでしょうか。
今回紹介したIssue Templateと開発フローを取り入れるだけで、開発体験は格段に向上します。
最後までお読みいただき、ありがとうございました。

Discussion