5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ブランチ名に issue 番号が入ってる時に、コミットメッセージに自動で issue 番号を入れる件

Last updated at Posted at 2019-09-23

開発を進めていく際に、Git のコミットメッセージ内に「#145」みたいなのを書いておくと、関連する issue がすぐわかるので、なんとなく便利そうな気がしていてちまちま書いています。

GitHub だとリンクをつけてくれるのもなかなか便利です。PR 作って開発をしていたら PR へのリンクは自動で入るんですけどね。個人のプロジェクトだと PR は作らないので、まあそこは手動で妥協しているというわけでもあります。

Moca 2019-09-23 10-41-10.png

で、ちまちま手入力するのも結構ダルいんで、自動で入力できるようにしました。幸い会社では、ブランチ名を issues/100-something とする文化があってそれに合わせて運用してるんで、ブランチ名から自動で取得できます。 .git/hooks/prepare-commit-msg というファイルを用意すると、コミットメッセージに対してスクリプトを実行できるんで、この機能を使いました。

こんな感じ。

#!/bin/sh

COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
SHA1=$3

number=`git branch 2> /dev/null | egrep '^\*' | cut -b 3- | sed -e "s/^issues\/\([0-9]*\).*/[#\1] /g"`

if [[ $number == "[#"* ]]
then

case "$COMMIT_SOURCE,$SHA1" in
 ,|template,)
   /usr/bin/perl -i.bak -pe '
      print "'"${number}"'"
	 if /^\n/ && $first++ == 0' "$COMMIT_MSG_FILE" ;;
 *) ;;
esac

fi

git commit すると、コミットメッセージの頭に [#145] というのが自動で入ります。便利!!

5
3
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
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?