Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
59
Help us understand the problem. What is going on with this article?
@horimislime

ブランチ名にissue番号を使う

More than 5 years have passed since last update.

仕事ではタスク管理にGithub issueを使っていて、最近はブランチを作る際にfeature/1234といったように名前にissue番号を使うようにしています。最初はどのissueに関連したブランチなのか分かりやすくしたくて始めたんですが、CLIツール・alias設定を組み合わせて以下のフローも楽に行えるようになりました。

テンプレートを使ってissueリンク付きプルリクエストを作る

プルリクエストを作成する際は必ず対応するissueへのリンクを貼るという運用を行っているんですが、ブランチ名にissue番号を入れておくことでこれがコマンド一発で完結できるようになりました。やり方は下記の記事を参考にさせてもらいました。
GitHub Issueはテンプレート化で、綺麗に書かせる! - Qiita

.gitconfig
[alias]
    pull-request = "!hub browse -- compare/develop...$(git symbolic-ref --short HEAD)?body=%0A%23$(echo $(git symbolic-ref --short\
 HEAD) |awk -F'[/_-]' '{print $2}')%0A%0A%23%20Before%0A%0A%23%20After%20%0A%0A"

エンコードされててよく分からない感じですが、git pull-requestとすると以下のようなプルリク作成ページが開かれて、issueへのリンクも貼られた状態になります。

Kobito.w2bqFw.png

これまでは対応するissueの番号を探してプルリクの本文に貼り付ける、という事をやっていて地味に面倒だった・・

カレントブランチに関連するissueの内容をさっと確認する

stephencelis/ghiを使って関連するissueの内容を確認できるようにしています。issue番号をブランチ名に入れておく事を前提に、下記のようなaliasを設定してgit issueと叩くだけでブランチに対応したissueの内容が見れるようにしています。

.gitconfig
[alias]
    issue = "!ghi show $(echo $(git symbolic-ref --short HEAD) |awk -F "/" '{print $2}')"

Kobito.DoTTxZ.png


すごく些細な事ですが、お陰でブラウザでGithubを開いてissueを確認する頻度が減りました。タスク管理にissueを使っている人は試してみるのもアリかもしれません。

59
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
59
Help us understand the problem. What is going on with this article?