(WIP) [GitHub] gh コマンドで Issue から branch 作成をするようにして タスク管理がしやすくなった

2024/05/11に公開

はじめに

皆様、 gh コマンドフル活用してますか?
いろんなことが楽になりますよ。

  • gh repo で リポジトリ爆速操作
  • gh issue で 楽々 Issue 管理
  • gh run で 何度も繰り返すワークフローの堅牢な操作(間違って Prod に deployしない)
  • gh run watch + terminal-notifier を使って ワークフローのポーリング監視
  • gh secretgh variable.env ファイルから 環境変数管理
  • gh auth で 複数 Github アカウントの楽々スイッチ

挙げだしたらキリがないですね!
Web UI からマウスでポチポチしてます😢 からは早く卒業したいもの。
怖いし。

背景

本題に入って。

自分は Copilot 信者なんですが、GitHub 上にデータをできるだけ一元管理したいと思っています。
そこでタスク管理も Issue でやろうかな、となるんですが、PR と Issue の紐づけがめんどいなぁと。

https://docs.github.com/ja/enterprise-cloud@latest/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword

👆 見ていただいてもわかる通り「手動で」「手動で」が飛び交います。
また、一番上の「キーワードを使用してPull RequestをIssueにリンクする」も、仕組みが整ってなければ手動ですよね。これ。

解決策

https://docs.github.com/ja/enterprise-cloud@latest/issues/tracking-your-work-with-issues/creating-a-branch-for-an-issue#about-branches-connected-to-an-issue

Issueに接続されているブランチは、Issueのサイドバーの"Development(開発)"セクションの下に表示されます。 それらのブランチの1つに対してPull Requestを作成すると、それは自動的にIssueにリンクされます。 そのブランチとの接続は削除され、そのPull Requestだけが"Development(開発)"セクションに表示されるようになります。 詳しくは、「Pull RequestをIssueにリンクする」を参照してください。

👆 あ、これが良さそう

ということで、これを gh コマンドで実現できるか探したところ、ありました。

https://cli.github.com/manual/gh_issue_develop

gh issue create

👇 の感じで使えば、issue 作成から ブランチ作成までが速攻でできそう。

gh issue create -t "create base label"
gh issue develop 1 -b main -c

Discussion