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
これらを一つ一つカスタムフレーズに追加すれば、楽しくコミットメッセージを書くことができるでしょう。
あなたの今後のリポジトリがとても可愛くなることを願っています。