Help us understand the problem. What is going on with this article?

【Github時代のgit hook】issue番号を勝手にcommit commentに入れてくれるやつ

More than 5 years have passed since last update.

$ git commit -m "#0001 mendokusai"

コミットメッセージに#[issue num]やんの面倒ですよね、
たまに何のブランチだか、なんのissueのコミットだかわからなくなって
思わずオクトキャットに涙するなんてことよくあるはず。

おもわずenter押しちゃってうっかりコメント入れなかったりして

amend
$ git commit --amend -m "#1507 やべ、間違えた"

と打ち込む事も少なくないはず

そんな時のために自動化しましょう。
やるべきことは簡単。

1, prepare-commit-msgの用意
2, issue番号付きbranchの作成

prepare-commit-msgの用意

作業フォルダに.git/hooks/prepare-commit-msgを用意

prepare-commit-msgの中身は以下

prepare-commit-msg
#!/bin/sh
#

if [ "$2" == "" ] ; then
mv $1 $1.tmp
echo "issue #`git branch | grep "*" | awk '{print $2}' | sed -e "s/^\([0-9]*\).*/\1/g"`" > $1
cat $1.tmp >> $1
fi

$ chmod +x prepare-commit-msg

issue番号付きbranchの作成

$ git checkout -b 1234_branch

これで大丈夫。

使う

$ git commit

コミットすると

commitMessage
issue  #1234

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch 1_test_branch
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
# modified:   index.html
#          

こんな感じでできている。
やってることは、コミット前にブランチ名内の数字を読み出して
付与して上げているだけ、下記を参考にさせていただきました。

git branch名に、チケット番号仕込むと、良い事あった。 - 鼻メガネ会長

jumbOrNot
RareJobでEMをしています。フロント・ネイティブアプリ・webアプリ・デザインのチームの開発を担当しています。typescript/javascript/swift/kotlin/flutter/firebase/laravelあたりが好きです。
rarejob
明治神宮にあるオンライン英会話サービスを提供するベンチャー
https://www.rarejob.com/
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