🕌

Gitコミットスタイル

2022/07/25に公開

まずはコミットスタイルを定義するファイルを作成します
ホームフォルダで.commit_templateを作成します

touch .commit_template

そして、ファイルを編集します
以下のように記入します
引用元:https://suwaru.tokyo/【必須】gitコミットの書き方・作法【prefix-emoji】/#anc_1

# ==== Prefix ====
# fix		バグ修正、クリティカルなバグ修正なら hotfix
# feat		feat は feature の略
# docs		ドキュメントのみ修正
# style		空白、セミコロン、行、コーディングフォーマットなどの修正
# refactor	整理 (リファクタリング等)
# test		テスト追加や間違っていたテストの修正
# chore		ビルドツールやライブラリで自動生成されたものをコミットするとき
 
# ==== Emojis ====
# :bug:         バグ修正 (fix)
# :+1:          機能改善 (fix/feat)
# :sparkles:    部分的な機能追加 (feat)
# :tada:        盛大に祝うべき大きな機能追加 (feat)
# :rocket:      パフォーマンス改善 (feat)
# :lock:        新機能の公開範囲の制限 (feat)
# :cop:         セキュリティ関連の改善 (feat)
# :note:        ドキュメント修正 (docs)
# :shirt:       Lintエラーの修正やコードスタイルの修正 (style)
# :recycle:     リファクタリング (refactor)
# :shower:      不要な機能・使われなくなった機能の削除 (refactor)
# :green_heart: テストやCIの修正・改善 (test)
# :up:          依存パッケージなどのアップデート (chore)

次はテンプレートファイルを設定します

git config --global commit.template ~/.commit_template

実践

そして、練習用のフォルダを作り、コミットしてみましょう

mkdir test
git init

まずはファイルを作成します

touch one.html

そしてステージ状態にさせます

git add .

次は本番です、git commitのoption mを使用せずに直接に以下のコマンドを

git commit

そしたらviエディターの画面に入ります

iを打ち、Insert Modeにします

テンプレートを参照しながら内容を記入します

編集しおわったら、escでInsert Modeから退出します

:wqを打ちます

Enterを打ちます

これで完了しました

3行のコミット

同じくタクマさんの記事をそのまま引用します

コミットスタイルはこちらです

1行目:コミット内容の要約(タイトル・概要・issue/チケット番号)
2行目:空行
3行目以降:本文 (内容・詳細・変更理由・issue/チケット番号)

早速3行のコミットを練習します

コミット完成したらGithubにPushします

コミット一覧では3行目の内容は見れないですが

右にある「...」のアイコンをクリックしてみます

そして3行目の内容が見えるようになりました

ちなみにコミットの詳細ページでは操作などしなくても3行目は見れます

コミット内容検索

ターミナルに戻り、検索しましょう
「three」というキーワードで検索します

git log --grep three

次は3行目の内容で検索します
「which」で検索します

git log --grep which

問題なく検索できました

Github Issues

Github Issueとのコミットスタイルを練習しましょう

まずはIssueを作成します
Issue番号は#1です

AssigneesとLabelsは適当に指定します
Developmentの部分はクリックして、特定の修正用のブレンチを作成します

そして、ターミナルに戻ります

まずは該当ブレントに行きます

git fetch origin
git checkout 1-create-twohtml

そしてファイルを作成して、コミットします
コミットメッセージは「feat: close #1」です

close #1に関しては、それはGithubのClosing Keywordです
それはプルリクがマージされたとき、Issue #1が解決することになります
記法の詳細はこちらです

close #1以外に、以下のような書き方でもよいです

close #1
closes #1
closed #1
fix #1
fixes #1
fixed #1
resolve #1
resolves #1
resolved #1

次はプルリクを行います
まずはプルリクに行きます、「New pull request」をクリックします

先ほど作成したブレンチをクリックします

「Create pull request」をクリックします

記入欄に内容を記入したら「Create pull request」をクリックします

そして、次のページに行きます
マージがセーフの場合、ここは緑色になります

マージがセーフなので、「Merge pull request」をクリックします

「Confirm Merge」をクリックします

成功したら、「Delete branch」をクリックしてブレンチを削除します

Issuesに行き、#1が自動的にCloseされました

最後に、ターミナルにブレンチを削除します

git checkout master
git branch --delete 1-create-twohtml

これでOKです

VSCode

VSCodeではCommit Templateの効果がなくなるようです
解決の方法はまだ見つからないので
一旦Commit TemplateをREADME.mdどかの場所に書いておきましょう

Discussion