GitHubを使った作業のワークフロー

自分がプログラムを開発するときのワークフローをまとめました。何をどのブランチで作業したらいいのか迷わないように、GitHubのPull requestとIssueを活用し、ZenHubで見やすいように可視化しています。

前提

ワークフロー

  1. ZenHubのパイプライン(作業のステータス)を整理します。自分は一人で開発するときは以下の5つのステータスを設定しています。
    • New Issues → おもむろに書き溜めたタスク
    • Waiting → 順番待ちの重要度の高いタスク
    • In Progress → 作業中のタスク
    • Done → 作業完了したがブランチをマージしていないタスク
    • Closed → ブランチがマージされたタスク
  1. やらなければいけないタスク(バグ修正、機能開発)をZenHubのIssueとしてメモします。IssueのあつまりはEpics、EpicsのあつまりはMilestonesのように階層を設けることができますが、自分が一人で開発するときは階層管理が面倒くさいのでIssueのみを作成しています。
  1. タスク単位でブランチを作成します。
    ブランチの命名規則は決めておいた方がよいです。
git checkout -b 210403_feature_A
  1. ブランチをリモートリポジトリにpushします。
git commit --allow-empty -m "ブランチ初期化"
git push --set-upstream origin 210403_feature_A
  1. GitHubでプルリクエストを作成します。ブランチとIssueを紐づけ、「Create Pull Request」をクリックします。
  1. 作業をするIssueは適宜ZenHubのタイルをドラッグアンドドロップして進捗を変更します。
  1. 作業が終わったらGitHubのPull request画面からブランチをマージし、ブランチは削除しておくとよいです。