Gitコミットスタイル
まずはコミットスタイルを定義するファイルを作成します
ホームフォルダで.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