Slide 1

Slide 1 text

.gitmessage を整備しよう unagi_dog(@NAUS3E / @phnyo) .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 1 1

Slide 2

Slide 2 text

コミットの話 .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 2 2

Slide 3

Slide 3 text

コミットってなに? 超ざっくりいうと git というバージョン管理ツールで 現在のファイルの状態を保存しておくこと .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 3 3

Slide 4

Slide 4 text

コミットってなに? コミットの嬉しさ 1. なんかやばくなったときに戻せる 2. 他人が見て変更を追える .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 4 4

Slide 5

Slide 5 text

コミットログ コミットするときにログを書く "initial commit" " 記事が読みにくいのでh1 をh2 にした" " うに" 虚無コミットログ => 変更についての情報がないログ .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 5 5

Slide 6

Slide 6 text

虚無コミットの例 .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 6 6

Slide 7

Slide 7 text

なにがだめ? hi -> 意味不明 hi2 -> 意味不明 nyaos -> 「進捗ダメです」の隠語 これを他人が追える? => 無理 .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 7 7

Slide 8

Slide 8 text

適切な情報量のコミットログ .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 8 8

Slide 9

Slide 9 text

a.c の関数とb.c の関数とc.c の関数とd.c の関数とe.c の関数と... a.c の関数では... b.c の関数では... c.c の関数では... d.c の関数では... がんばりました! => わからん! .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 9 9

Slide 10

Slide 10 text

なにがだめ? ファイルの変更が多すぎ! ファイルの変更が多すぎるとどこで何を変更したかわからなくなり がち コミットログが雑・意味がわからない 大体3 ヶ月くらい経つと自分が何考えてたか覚えてない 今回は後ろの話をします .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 10 10

Slide 11

Slide 11 text

(主観的に)いい例 ADD Code Template for Dijkstra's Algorithm ダイクストラ法のライブラリを整備した。 テストケース: [AOJ なんとか...] reference: [ サイトとか] .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 11 11

Slide 12

Slide 12 text

ほな何書けばいいの? 実はベストプラクティスがある 形式的な話は参考文献見てね WHAT やWHY を書き、HOW を書かない のが大事 .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 12 12

Slide 13

Slide 13 text

なんで大事なの? HOW= 実装はコードが十分表現してるはず。 WHY とかWHAT はプログラムを読むだけだと意味わからないがち => 何(WHAT) を、なぜ(WHY) ということを書くべき .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 13 13

Slide 14

Slide 14 text

(主観的に)いい例再掲 ADD Code Template for Dijkstra's Algorithm ダイクストラ法のライブラリを整備した。 テストケース: [AOJ なんとか...] reference: [ サイトとか] WHAT はある。WHY は性質上ない? .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 14 14

Slide 15

Slide 15 text

(主観的に)いい例再掲 ADD Code Template for Dijkstra's Algorithm ダイクストラ法のライブラリを整備した。 [[WHY を追加]] 理由: ダイクストラ法のライブラリがなかったため。 テストケース: [AOJ なんとか...] reference: [ サイトとか] WHY とWHAT を書いておくとコミットの意義がわかりやすい .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 15 15

Slide 16

Slide 16 text

コミットログを楽に書きたい .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 16 16

Slide 17

Slide 17 text

.gitmessage で認知コストを減らす コミットする際のテンプレート # でコメントアウトできる ガイドラインとかを書いておくと良い git commit -m ... ではなく git commit だけ .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 17 17

Slide 18

Slide 18 text

.gitmessage 自分のやつ(抜粋) SUBJECT (Under 50 chars) # Best subject line would fit in to this sentence perfectly: # If applied, this commit will (subject line) BODY (Under 72 chars per line) # What am I trying to achieve with this commit? [reference or tickets: #XXX] .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 18 18

Slide 19

Slide 19 text

実際の表示例 .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 19 19

Slide 20

Slide 20 text

個人開発でも気をつけよう 虚無をやめて有をしよう というかちゃんと後の自分にもわかるようなログを書こう .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 20 20

Slide 21

Slide 21 text

おわり 質問があればどうぞ 21 21

Slide 22

Slide 22 text

参考文献 1. "How to Write a Git Commit Message" CBEAMS. 31 Aug. 2014, https://cbea.ms/git-commit/. visited 11 May. 2022 2. "Git のカスタマイズ - Git の設定" git scm, unknown, https://git- scm.com/book/ja/v2/Git- のカスタマイズ-Git- の設定. visited 11 May. 2022 .gitmessage を整備して虚無コミットログをやめよう .gitmessage を整備して虚無コミットログをやめよう 22 22