0
1

コミットメッセージのプレフィックスにブランチ名とPR番号を自動挿入する

Last updated at Posted at 2023-09-30

背景

ブランチ名をチケット番号にする運用かつスカッシュマージやリベースを行うフローでないため、各コミットメッセージからチケットやPR番号を辿れるように、コミットメッセージの自動生成をしたかった。

前提

gh コマンドで GitHub CLI を通じた PR 情報の取得ができるようになっていること

対応

.git/hooks/prepare-commit-msg を作成し、現在のブランチ名プレフィックスにする。

#!/bin/sh

BRANCH_NAME=$(git symbolic-ref --short HEAD)
PR_NUMBER=$(gh pr list --head "$BRANCH_NAME" --limit 1 --json number --jq '.[0].number')

if [ ! -z "$PR_NUMBER" ]; then
  echo " [$BRANCH_NAME #$PR_NUMBER] " > $1
else
  echo "[$BRANCH_NAME] " > $1
fi

パーミッションを付与する

chmod +x .git/hooks/prepare-commit-msg

動作確認

コミット時に開かれる vim 上でプレフィックスが既に入力されている

$ git commit
[feature/hogehoge #1] 
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1