Gitのコミットコメントを絵文字Prefixにして楽しく開発する


## 🔰 はじめに

Git便利ですよね！今回はそんな便利なGitをより楽しく使うTipsです！
この記事はGoodpatchさんの[Emojiで楽しく綺麗なコミットを手に入れる](http://memo.goodpatch.co/2016/07/beautiful-commits-with-emojis/)を参考にさせていただきました。
ありがとうございます🙇

gitのコミットを眺めていると文字の羅列でばっかりで、ノってないときは苦痛な時も人間あるでしょう😱
そんな時は絵文字Prefixにする事でみためも楽しくなり、コミットメッセージ自体に意味を持たせる事もでき、楽しく開発が出来ると思います。

## 💁 コミットメッセージテンプレートの作成

gitのコミットのテンプレートの作成は[こちら](https://robots.thoughtbot.com/better-commit-messages-with-a-gitmessage-template)を参考にさせていただきました。

今回は、```.gitmessage``` というファイルを作成して試しに採用するリポジトリのrootディレクトリに配置して使ってみます。[^1]

```my_repo_config
[commit]
    template = .gitmessage #このパスを任意で変更 ~/.gitmessageなど
```
今回は該当のリポジトリ内の```.git/config``` の内容を変更しました。これだけで準備は完了です。

## 🛠 使ってみる

では実際に使ってみましょう！

```
$ git commit
```
とすると、下記の様にテンプレートが表示され、それを見ながらコミットメッセージを入力する事ができます。
ステキですね🌟

<img src="https://qiita-image-store.s3.amazonaws.com/0/25250/0241a41e-4893-98b7-45fa-e465bc2e0045.png" width="650">

### 2016年9月28日 追記

こちら、SourceTreeなどで、コミットコメントに直接絵文字を入力してしまうと、Web、SourceTree上では絵文字が表示されるが、ターミナルでは、絵文字以降がブランクになってしまう現象が発生してしまいました。原因不明。

<img src="https://qiita-image-store.s3.amazonaws.com/0/25250/b5afa08d-2a9b-14c4-c50c-4e0afed3498f.png" width="600">

## 🚧 TODO

- ~~[ ] 現在は、ターミナルからでしか動かないので、何らかの形でSourceTreeなどのGUIで動かす事ができれば、デザイナーさんにも使ってもらえますね🙆~~

2017年4月18日　追記

- 上記設定をしていればSouceTreeでもコミットコメントのテンプレートとして反映されていました。
    - 1点あるとすればターミナル上編集していれば```#```はコメントとして扱われていましたが、SourceTreeではコミットコメントして反映されてしまうので、いちいち消すのが面倒くさいです🤔

</br>
</br>
</br>

<img src="https://qiita-image-store.s3.amazonaws.com/0/25250/b1142302-b720-76f3-c908-8b7d310b86dd.png" width="500">

## 🔚 最後に

いかがでいたでしょうか？
無味無臭だったコミットメッセージが格段に華やいだと思います。コードレビューは時と場合によってしんどいかったりするものですが、少しでもpositiveになればといいですね。
また、コミットに対する意識が個人個人で変わり、よりよりコミット（ざっくりですいません><）を考えるきっかけとなるかもしれません。

余談ですが、テンプレートを拙い英語に訳してもの（元はこちら[nownabe/.commit_template](https://gist.github.com/nownabe/85d8595fd142adc426fbfaf2bab015e0)）を[gist](https://gist.github.com/mfks17/a2332594d4a7646e6bfa12fd66e33a6f)にアップロードしてみました。よろしければ是非使って見てください😀
どの絵文字にどんな意味を持たせるかは、Productだったり、社内の文化だったり，チームでの議論だったりでかわると思いますので、みんなで話し合うのがいいと思います。ちなみにきっかけとなったAtomのものは[こちら](https://github.com/atom/atom/blob/master/CONTRIBUTING.md#git-commit-messages)です。

それでは、Happy Hacking!!🚀🚀🚀

[^1]: すべてのプロジェクトで使用したり、チーム内でコンセンサスがとれている場合は、ローカルのルートなどに格納すればいいと思います。


## 👍 謝辞

- [Emojiで楽しく綺麗なコミットを手に入れる](http://memo.goodpatch.co/2016/07/beautiful-commits-with-emojis/)
- [Gitのコミットメッセージの書き方](http://postd.cc/how-to-write-a-git-commit-message/)
- [Better Commit Messages with a .gitmessage Template](https://robots.thoughtbot.com/better-commit-messages-with-a-gitmessage-template)
- [.gitmessage - gist](https://gist.github.com/mfks17/a2332594d4a7646e6bfa12fd66e33a6f)
- [Gitのコミットメッセージを絵文字から始める](http://qiita.com/pocotan001/items/775cc77087be5562cc56)
- [絵文字コミットのすゝめとその習慣づけ](http://qiita.com/vivayashi/items/03de92f7e630c996971a)
- [「GitHub Issueはテンプレート化で、綺麗に書かせる！」を Emoji 厨が実践したら](http://qiita.com/tbpgr/items/f4d6c8e3e98e0bcabc48)
- [Git | Emoji を利用した Git の commit フォーマットの一例 #git #emoji](http://qiita.com/tbpgr/items/9c9bddc3be084a7651f3)
- [SourceTreeでブランチ名をコミットメッセージの先頭に自動挿入](http://mono0926.com/programming/sourcetree/)
- [【今日からできる】コミットメッセージに 「プレフィックス」 をつけるだけで、開発効率が上がった話](https://qiita.com/numanomanu/items/45dd285b286a1f7280ed)