LoginSignup
8
4

More than 3 years have passed since last update.

SourceTreeやIDEのプラグインでも.gitmessageのコメントアウトを使用できるようにする

Last updated at Posted at 2020-04-06

背景

チーム開発をしていると、コミットメッセージにもルールを設けておきたくなる。
そういう時に便利なコミットテンプレート。
.gitmessageを追加すれば、コミット時に定型文を表示してくれる。

プロジェクトでEmoji Prefixを導入したため、
文化に慣れるまでは絵文字の役割や入力方法などを覚えるのが手間だったこともあり、テンプレートを設定しておきたくなった。

しかし、(普段僕はCLIでGitを操作するので知らなかったのだが)SourceTreeやIDEプラグインといった、
GUIでのコミットには.gitmessageのコメントアウトが反映されないとのこと。
参考:https://qiita.com/mfks17/items/e68adc058e1a9e519807#-todo

チーム内ではGUIでGit操作を行っているメンバーもいるため、環境に依存してテンプレートが使えない人が出てくるのを避けたい。
何とかできないか調査した。

結論

↓を、.gitが格納されているディレクトリで入力する。

git config --add commit.cleanup strip

グローバルに設定したくなければ--localオプションをつけるなり、includeIfセクションで分岐させるなりすればよい。
もちろん.gitconfigに直接書いてもよい。

[commit]
        cleanup = strip

何をやっているのか?

--cleanup=<mode>オプションは、コミットする前にコミットメッセージを整形する方法を指定する。

Git | git-commit-Documentation

変数の種類

strip

先頭と末尾の空白行、末尾の空白、コメント(#が前頭についた行)を削除する。

whitespace

先頭と末尾の空白行、末尾の空白を削除。ただし、コメントを削除しない。
SourceTreeの設定はデフォルトでコレかdefaultになっている可能性がある。

default

メッセージを編集するときはstrip、それ以外の時はwhitespaceが適用される。

verbatim

メッセージを変更しない。

scissors

基本的にwhitespaceと同じだが、

# ------------------------> 8 ----------------------- -

というコメント以下の行がすべて削除される。

SourceTreeで設定する方法

GUIツールでGitを操作している人の中にはCLIに苦手意識を持っている人もいるので、操作手順をまとめた。

  1. 作業するリポジトリをSourceTreeで開く
  2. 右上の「設定」>「コミットテンプレート」からコミットテンプレートを設定。設定する範囲はプロジェクトや開発ルールに合わせて
  3. CLIでリポジトリの場所まで移動
  4. git config --add commit.cleanup strip を入力
cd path/to/dir # path/to/dir をテンプレートを適用するリポジトリの場所に変更する

最後に

コミットメッセージはキレイにしましょう:smile:

参考

Gitのコミットコメントを絵文字Prefixにして楽しく開発する | Qiita
Emojiで楽しく綺麗なコミットを手に入れる | Goodpatch Blog

8
4
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
8
4