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 la documentation
- style: Modifications du style du code (formatage, etc.)
- refactor: Refactorisation du code (sans changements fonctionnels)
- test: Ajout/mise à jour des tests
- chore: Tâches de maintenance
- build: Modifications du système de build ou des dépendances
- ci: Modifications des CI/CD
- perf: Améliorations de performance
- revert: Annulation d'un commit antérieur
Changements incompatibles
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 requis
Footer Signed-off-by
TOUJOURS inclure le footer Signed-off-by avec le nom et l'adresse e-mail.
Récupérez 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 Commit-Message-Assisted-by
TOUJOURS inclure Commit-Message-Assisted-by: Claude (via Claude Code) lorsque Claude assiste à la création ou la génération du message de commit.
Commit-Message-Assisted-by: Claude (via Claude Code)
Règles de validation Gitlint
- Exécutez
make run-gitlintpour valider les messages de commit - Ligne de titre : 120 caractères maximum
- Ligne de corps : 140 caractères maximum par ligne
- Utilisez le format de commit conventionnel
- Incluez les footers requis (Signed-off-by)
- Pas d'espaces inutiles en fin de ligne
Exemples
Commit simple
docs: correct spelling of CHANGELOG
Signed-off-by: Bryan Cox <[email protected]>
Commit-Message-Assisted-by: Claude (via Claude Code)
Avec scope
feat(azure): add workload identity support
Signed-off-by: Bryan Cox <[email protected]>
Commit-Message-Assisted-by: Claude (via Claude Code)
Plusieurs 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 <[email protected]>
Commit-Message-Assisted-by: Claude (via Claude Code)
Liste de contrôle rapide
Lors de la création de commits :
- [ ] Utiliser le format de commit conventionnel :
<type>(<scope>): <description> - [ ] Titre sous 120 caractères
- [ ] Lignes de corps sous 140 caractères
- [ ] Inclure le footer
Signed-off-by - [ ] Inclure le footer
Commit-Message-Assisted-by: Claude (via Claude Code) - [ ] Valider avec
make run-gitlint - [ ] Utiliser "!" ou
BREAKING CHANGEpour les changements incompatibles
Référence
Conventional Commits Specification: https://www.conventionalcommits.org/en/v1.0.0/#specification