Refrence: #
前言:#
すべての前に、チーム開発に参加している場合、規範はチームの要求を主にすべきです。ここでは主に日常の自分のリポジトリの管理についてです。
以前、私は基本的なコミットメッセージについて少し学びました。例えば、refactor、fix、feat、feature、perf などです。
しかし、これらを書くのはあまりやる気が出ず、通常、何を書くか思いつかないときはそのまま update、update してしまいました。その結果、リポジトリが見栄えが悪く、git log もひどいことになりました。
Git Commit Message は自由に記述できますが、意味のない記述を使用すると、後のコードレビューやコードの用途を理解する上で大きな影響を及ぼします。したがって、Commit Message には意味があることが最も基本的な要求です。また、一定のフォーマット規範を遵守するべきで、そうすることで皆がその Commit の詳細をより早く、より明確に理解できるようになります。ここでは主に一般的な Git Commit 規範と Gitmoji 規範を紹介し、最後に私がよく使う関連設定について紹介します。
以前に学んだことがあるかどうかにかかわらず、このコミットメッセージ規範をあなたのリポジトリの規範として試してみると良いでしょう。少なくとも、書くのがもっと可愛く感じるはずです。
成品展示:https://github.com/yutto-dev/bilili
私のひどいリポジトリはこんな感じです:https://github.com/MrXnneHang/Blog
どうするか:#
前回のコミット情報を修正する:#
git commit --amend
これにより、前回のコミットメッセージが開きます。あなたはそれを修正できます。私は以前、コミットを間違えたときはいつもreset --hard
して再度 add し、再び commit していました。また、ファイルが変更されている場合は、ファイルをバックアップする必要があり、少し悲惨でしたが、私はこれを半年間続けました。
このように:
:memo: docs:copilotがvscodeで動作しない (これはcommit -mの内容です,:memo:はGitmojiで、push後に自動的にレンダリングされます)
# 変更の説明を入力してください。'#'で始まる行は無視され、空のコミット
# 説明はコミットを終了します。
# ...
ここでコミットメッセージを修正することを選択し、保存して終了できます。もちろん、commit -m のときに一度に書き終えることもできます。
また、コミットメッセージは header、body、footer の 3 つの部分に分かれています。具体的な書き方:
:memo: docs:copilotがvscodeで動作しない (これはcommit -mの内容です,:memo:はGitmojiで、push後に自動的にレンダリングされます)
ここがbodyの部分です
ここがfooterの部分です
# 変更の説明を入力してください。'#'で始まる行は無視され、空のコミット
# 説明はコミットを終了します。
# ...
3 つの部分は一般的に空行で分けられます。最後に、github に push した後、コミットに入ってコミットメッセージの詳細情報を見ることができます。
https://github.com/MrXnneHang/Blog/commit/17343e378c7e00dd971b5fd5209cb31faedb35f1
したがって、普段は header を書くときはできるだけ短く、詳細情報は body に入れるべきです。
カスタムフレーズ:#
これにより、Gitmoji の記憶と入力の時間が大幅に削減されました。
例えば、私はref
を使って:recycle: refactor:
の代わりにすることができます。
一般的なオペレーティングシステムのデフォルト入力法はカスタムフレーズをサポートしていますので、よく探してみてください。
ただし、前回の deepin の Sogou 入力法は文字化けしてしまったので、必要がない限り、短語をデフォルト入力法に追加し、バックアップをエクスポートしておくことをお勧めします。
上記のgit commit --amend
もカスタムフレーズに追加しました。
Gitmoji と Git Message の対照表:#
多少の違いがあるかもしれません。
実際には Gitmoji を使用すれば Git Message を使用する必要はありませんが、他の人が理解できないのを防ぐために、追加しておくのが良いでしょう。
一般的に使用されるものは以下の通り:
🎉 init: 初期化
🚀 release: 新バージョンのリリース
🎨 style: コードスタイルの変更(コードの実行に影響しない変更)
✨ feat: 新機能の追加
🐛 fix: バグの修正
📝 docs: ドキュメントの修正
♻️ refactor: コードのリファクタリング(新機能でもバグ修正でもないコードの変更)
⚡ perf: パフォーマンス向上のためのコード変更
🧑💻 dx: 開発体験の最適化
🔨 workflow: ワークフローの変更
🏷️ types: 型宣言の変更
🚧 wip: 作業中
✅ test: テストケースの追加および修正
🔨 build: ビルドシステムや外部依存関係に影響を与える変更
👷 ci: CI設定ファイルとスクリプトの変更
❓ chore: ソースコードやテストに関与しないその他の変更
⬆️ deps: 依存関係の変更
🔖 release: 新バージョンのリリース
これらをすべて gpt に送ると、彼はそのコードを提供してくれます。例えば、これは私が確実に使用するものです:💩 💩 bad code:
💩
と:poop:
は等価で、コミットに書いて push すると自動的にレンダリングされます。
より完全な情報は:https://nyakku.moe/posts/2018/09/16/git-commit-message-convention.html
これらを一つ一つカスタムフレーズに追加すれば、楽しくコミットメッセージを書くことができるでしょう。
あなたの今後のリポジトリがとても可愛くなることを願っています。