81 lines
3.3 KiB
Markdown
81 lines
3.3 KiB
Markdown
# Gitflow
|
||
|
||
## Branches
|
||
|
||
**To be defined**
|
||
## Conventional Commits 1.0.0
|
||
La spécification de Conventional Commits est une convention légère pour des messages de commit propre. Il fournit un ensemble simple de règles pour créer un historique de commit explicite; Ce qui facilite l’écriture d’outils automatisés. Cette convention est liée à SemVer, en décrivant les fonctionnalités, les correctifs et les modifications importantes apportées aux messages de commit.
|
||
|
||
Le message du commit doit être structuré comme suit :
|
||
```
|
||
<type>[optional scope]: <description>
|
||
|
||
[optional body]
|
||
|
||
[optional footer(s)]
|
||
```
|
||
|
||
Le commit contient les éléments structurels suivants, permettant de communiquer à l’intention des consommateurs de votre bibliothèque :
|
||
|
||
* **build**: changements qui affectent le système de build ou des dépendances externes (npm, make…)
|
||
* **ci**: changements concernant les fichiers et scripts d’intégration ou de configuration (Travis, Ansible, BrowserStack…)
|
||
* **feat**: ajout d’une nouvelle fonctionnalité
|
||
* **fix**: correction d’un bug
|
||
* **perf**: amélioration des performances
|
||
* **refactor**: modification qui n’apporte ni nouvelle fonctionalité ni d’amélioration de performances
|
||
* **style**: changement qui n’apporte aucune alteration fonctionnelle ou sémantique (indentation, mise en forme, ajout d’espace, renommante d’une variable…)
|
||
* **docs**: rédaction ou mise à jour de documentation
|
||
* **test**: ajout ou modifications de tests
|
||
|
||
### Exemples
|
||
#### Message de commit avec description et breaking change dans le footer
|
||
```
|
||
feat: allow provided config object to extend other configs
|
||
|
||
BREAKING CHANGE: `extends` key in config file is now used for extending other config files
|
||
```
|
||
#### Message du commit avec ! attire l’attention sur un BREAKING CHANGE
|
||
```
|
||
feat!: send an email to the customer when a product is shipped
|
||
```
|
||
#### Message du commit avec scope et ! attire l’attention sur un BREAKING CHANGE
|
||
```
|
||
feat(api)!: send an email to the customer when a product is shipped
|
||
```
|
||
#### Message du commit avec ! et BREAKING CHANGE dans le pied de page
|
||
```
|
||
chore!: drop support for Node 6
|
||
|
||
BREAKING CHANGE: use JavaScript features not available in Node 6.
|
||
```
|
||
#### Message du commit sans corps de texte
|
||
```
|
||
docs: correct spelling of CHANGELOG
|
||
```
|
||
#### Message du commit avec scope
|
||
```
|
||
feat(lang): add polish language
|
||
```
|
||
#### Message du commit avec plusieurs paragraphes et plusieurs pieds de page
|
||
```
|
||
fix: prevent racing of requests
|
||
|
||
Introduce a request id and a reference to latest request. Dismiss
|
||
incoming responses other than from latest request.
|
||
|
||
Remove timeouts which were used to mitigate the racing issue but are
|
||
obsolete now.
|
||
|
||
Reviewed-by: Z
|
||
Refs: #123
|
||
```
|
||
|
||
### Pourquoi utiliser Conventional Commits ?
|
||
|
||
* Génération automatique de CHANGELOGs.
|
||
* Déterminer automatiquement un changement de version sémantique (en fonction des types de commits inclus).
|
||
* Communiquer la nature des changements aux membres de l’équipe, au public et aux autres parties prenantes.
|
||
* Déclencher des processus de génération et de publication.
|
||
* Faciliter la contribution des personnes à vos projets en leur permettant d’explorer un historique de commit plus structurée.
|
||
|
||
Basé sur la convention commits 1.0.0 du site https://www.conventionalcommits.org/fr/v1.0.0/ |