Skip to content

Set issue number to commit message

Yuichiro Tsuchiya edited this page Jun 30, 2016 · 1 revision

Rule

運用ルールとして,

  1. Issueを起票する (例:"ホーム画面デザイン改善")
  2. xxx/<Issue number>という形式の名前でブランチを作る (例: "improve-home-design/15")
  3. 当該Issueに関する開発はそのブランチで作業をすすめる

というふうにします.

Preparation

.git/hooks/prepare-commit-msgを以下の内容で作成します.

#!/usr/bin/env ruby

current_branch = `git branch | grep '*'`.chomp.sub('* ', '')
if /\/(\d+)$/ =~ current_branch
  issue_no = $1
  commit_msgs = File.readlines(ARGV[0])
  exit if commit_msgs[0] =~ /\(refs #\d+\)/
  open(ARGV[0], 'w') {|file|
    puts issue_no
    file.print "(refs ##{issue_no}) "
    file.puts commit_msgs
  }
end

このスクリプトに実行権限を与えておきます.

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

Commit!

あとはコミットするたびに自動でコミットメッセージの先頭に(refs #<Issue number>)という形でIssue番号が追加されます

Clone this wiki locally