Règles de formatage des messages de commit Git
Appliquez le format de commit conventionnel pour tous les commits git du projet HyperShift.
Format du message de commit
<type>(<scope>): <description>
[optional body]
[footers]
Types de commit
- feat: Nouvelles fonctionnalités
- fix: Corrections de bugs
- docs: Modifications de documentation
- style: Modifications de style de code (formatage, etc.)
- refactor: Refactorisation de code (pas de changements fonctionnels)
- test: Ajout/mise à jour de tests
- chore: Tâches de maintenance
- build: Système de build ou changements de dépendances
- ci: Changements CI/CD
- perf: Améliorations de performance
- revert: Annuler un commit précédent
Changements avec rupture
Avec ! pour attirer l'attention
feat!: send email when product shipped
Avec le footer BREAKING CHANGE
feat: allow config to extend other configs
BREAKING CHANGE: `extends` key now used for extending config files
Avec ! et BREAKING CHANGE
chore!: drop support for Node 6
BREAKING CHANGE: use JavaScript features not available in Node 6.
Footers obligatoires
Footer Signed-off-by
TOUJOURS inclure le footer Signed-off-by avec nom et email.
Obtenez les identifiants dans cet ordre de priorité :
- Variables d'environnement :
$GIT_AUTHOR_NAMEet$GIT_AUTHOR_EMAIL - Configuration Git :
git config user.nameetgit config user.email - Si aucun n'est configuré, demander à l'utilisateur de fournir les détails
Footer Assisted-by
Inclure un footer Assisted-by: LLM quand un assistant IA aide à créer ou générer le message de commit. Ne pas l'inclure pour les messages de commit rédigés par un humain.
Assisted-by: LLM
Règles de validation Gitlint
- Exécuter
make run-gitlintpour valider les messages de commit - Ligne de titre : 120 caractères maximum
- Ligne de body : 140 caractères maximum par ligne
- Utiliser le format de commit conventionnel
- Inclure les footers obligatoires (
Signed-off-by) - Pas d'espaces blancs en fin de ligne
Exemples
Commit simple
docs: correct spelling of CHANGELOG
Signed-off-by: Bryan Cox <brcox@redhat.com>
Assisted-by: LLM
Avec scope
feat(azure): add workload identity support
Signed-off-by: Bryan Cox <brcox@redhat.com>
Assisted-by: LLM
Multi-paragraphes avec footers
fix: prevent racing of requests
Introduce request ID and reference to latest request. Dismiss
incoming responses other than from latest request.
Remove timeouts which were used to mitigate racing but are
obsolete now.
Reviewed-by: Jane Doe
Refs: #123
Signed-off-by: Bryan Cox <brcox@redhat.com>
Assisted-by: LLM
Exemples de commit conventionnel
Message de commit avec description et footer de changement avec rupture :
feat: allow provided config object to extend other configs
Signed-off-by: Bryan Cox <brcox@redhat.com>
BREAKING CHANGE: `extends` key in config file is now used for extending other config files
Message de commit avec ! pour attirer l'attention sur un changement avec rupture :
feat!: send an email to the customer when a product is shipped
Signed-off-by: Bryan Cox <brcox@redhat.com>
Message de commit avec scope et ! pour attirer l'attention sur un changement avec rupture :
feat(api)!: send an email to the customer when a product is shipped
Signed-off-by: Bryan Cox <brcox@redhat.com>
Message de commit avec ! et footer BREAKING CHANGE :
chore!: drop support for Node 6
Signed-off-by: Bryan Cox <brcox@redhat.com>
BREAKING CHANGE: use JavaScript features not available in Node 6.
Message de commit sans body :
docs: correct spelling of CHANGELOG
Signed-off-by: Bryan Cox <brcox@redhat.com>
Message de commit avec scope :
feat(lang): add Polish language
Signed-off-by: Bryan Cox <brcox@redhat.com>
Message de commit avec body multi-paragraphes et plusieurs footers :
fix: prevent racing of requests
Introduce a request ID and a reference to the latest request. Dismiss
incoming responses other than from the latest request.
Remove timeouts which were used to mitigate the racing issue but are
obsolete now.
Reviewed-by: Z
Refs: #123
Signed-off-by: Bryan Cox <brcox@redhat.com>
Checklist rapide
Lors de la création de commits :
- [ ] Utiliser le format de commit conventionnel :
<type>(<scope>): <description> - [ ] Utiliser un sujet impératif et expliquer le « Pourquoi » et le « Comment » si approprié
- [ ] Titre sous 120 caractères
- [ ] Lignes de body sous 140 caractères
- [ ] Inclure le footer
Signed-off-by - [ ] Si un assistant IA a aidé à créer ou générer le message de commit, inclure
Assisted-by: LLM; l'ometre pour les messages rédigés par un humain - [ ] Valider avec
make run-gitlint - [ ] Utiliser
!ouBREAKING CHANGEpour les changements avec rupture
Référence
Conventional Commits Specification: https://www.conventionalcommits.org/en/v1.0.0/#specification