versionning
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
versionning [2018/12/20 14:39] – [GitFlow] lpieri | versionning [2020/06/10 11:16] – [Upgrade] benoit | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
===== Semantic Versioning 2.0.0 ===== | ===== Semantic Versioning 2.0.0 ===== | ||
Ligne 27: | Ligne 27: | ||
* <hi # | * <hi # | ||
* <hi # | * <hi # | ||
+ | * FIXME | ||
==== Clone existing project ==== | ==== Clone existing project ==== | ||
Ligne 38: | Ligne 39: | ||
Nous utilisons Gitlab sur un de nos serveurs pour gérer nos différents projets et leurs évolutions. Nous sommes donc également compétents pour vous accompagner dans le déploiement d'une telle solution de versioning de vos propres projets, applications et sites web. | Nous utilisons Gitlab sur un de nos serveurs pour gérer nos différents projets et leurs évolutions. Nous sommes donc également compétents pour vous accompagner dans le déploiement d'une telle solution de versioning de vos propres projets, applications et sites web. | ||
- | * [[https://lab.betterb.fr/ | + | * [[http://gitlab.betterb.fr/ |
* [[https:// | * [[https:// | ||
- | ==== GitFlow ==== | + | ==== Upgrade ==== |
+ | * [[https:// | ||
+ | |||
+ | < | ||
+ | sudo apt-get update && sudo apt-get install gitlab-ce | ||
+ | </ | ||
+ | |||
+ | ==== User Config ==== | ||
+ | check git config | ||
+ | < | ||
+ | git config --list | ||
+ | </ | ||
+ | |||
+ | cache the password for a month | ||
+ | < | ||
+ | git config --global credential.helper 'cache --timeout=2628000' | ||
+ | </ | ||
+ | |||
+ | ===== GitFlow | ||
{{ : | {{ : | ||
- | === Branches principales === | + | ==== Branches principales |
Origin détient deux branches principales //infinies dans le temps//: | Origin détient deux branches principales //infinies dans le temps//: | ||
* master | * master | ||
Ligne 57: | Ligne 76: | ||
Par définition, | Par définition, | ||
- | === Branches secondaires === | + | ==== Branches secondaires |
Le modèle **GitFLow** intègre des branches secondaires afin d' | Le modèle **GitFLow** intègre des branches secondaires afin d' | ||
Ligne 64: | Ligne 83: | ||
* Hotfix | * Hotfix | ||
- | === Feature === | + | ==== Feature |
* Branche source: **develop** | * Branche source: **develop** | ||
* Branche cible: **develop** | * Branche cible: **develop** | ||
Ligne 71: | Ligne 90: | ||
La branche **feature** est utilisée pour développer des nouvelles fonctionnalités destinées à une future // | La branche **feature** est utilisée pour développer des nouvelles fonctionnalités destinées à une future // | ||
- | == Créer une branche feature == | + | === Créer une branche feature |
< | < | ||
git checkout -b myfeature develop | git checkout -b myfeature develop | ||
Ligne 77: | Ligne 96: | ||
</ | </ | ||
- | == Incorporer une branche feature dans develop == | + | === Incorporer une branche feature dans develop |
< | < | ||
git checkout develop | git checkout develop | ||
Ligne 95: | Ligne 114: | ||
{{ : | {{ : | ||
- | === Release === | + | ==== Release |
* Branche source: **develop** | * Branche source: **develop** | ||
* Branche cible: **develop** et **master** | * Branche cible: **develop** et **master** | ||
Ligne 106: | Ligne 125: | ||
C'est au moment de la création de la branche **release** que la //release// en cours se voit assignée un numéro de version. | C'est au moment de la création de la branche **release** que la //release// en cours se voit assignée un numéro de version. | ||
- | == Créer une branche release == | + | === Créer une branche release |
< | < | ||
git checkout -b release-1.2 develop | git checkout -b release-1.2 develop | ||
Ligne 123: | Ligne 142: | ||
La branche **release** peut exister un moment jusqu' | La branche **release** peut exister un moment jusqu' | ||
- | == Incorporer une branche release == | + | === Incorporer une branche release |
La branche est //merge// dans **master** ensuite ce dernier //commit// sur **master** est //taggé//. Enfin les changements faits sur la **release** (corrections de bugs) doivent être //merge// sur **develop**. | La branche est //merge// dans **master** ensuite ce dernier //commit// sur **master** est //taggé//. Enfin les changements faits sur la **release** (corrections de bugs) doivent être //merge// sur **develop**. | ||
Ligne 147: | Ligne 166: | ||
</ | </ | ||
- | === Hotfix === | + | ==== Hotfix |
* Branche source: **master** | * Branche source: **master** | ||
* Branche cible: **develop** et **master** | * Branche cible: **develop** et **master** | ||
Ligne 156: | Ligne 175: | ||
Les branches **hotfix** aident à la préparation pour la mise en prod. Ellles découlent de la nécessité d’agir immédiatement sur un état non souhaité d’une version en production. Ansi, le développement peut continuer pendant qu'une autre personne peut préparer une correction rapide de la prod. | Les branches **hotfix** aident à la préparation pour la mise en prod. Ellles découlent de la nécessité d’agir immédiatement sur un état non souhaité d’une version en production. Ansi, le développement peut continuer pendant qu'une autre personne peut préparer une correction rapide de la prod. | ||
- | == Créer une branche hotfix == | + | === Créer une branche hotfix |
Créer à partir de la branche **master**, afin de corriger un bug sur la prod mais les changements sur **develop** sont instables. | Créer à partir de la branche **master**, afin de corriger un bug sur la prod mais les changements sur **develop** sont instables. | ||
Ligne 174: | Ligne 193: | ||
</ | </ | ||
- | == Incorporer une branche hotfix == | + | === Incorporer une branche hotfix |
Quand elle est finit la branche **hotfix** doit être //merge// dans **master** mais aussi dans **develop**. On s' | Quand elle est finit la branche **hotfix** doit être //merge// dans **master** mais aussi dans **develop**. On s' | ||
Ligne 200: | Ligne 219: | ||
Une seule exception peut être faite. Si une //release// est en cours, soit une branche **release** encore ouverte. Les changements de **hotfix** doivent être //merge// dans **release** au lieu de **develop**. Les changements seront //mergés// dans **develop** au moment de l' | Une seule exception peut être faite. Si une //release// est en cours, soit une branche **release** encore ouverte. Les changements de **hotfix** doivent être //merge// dans **release** au lieu de **develop**. Les changements seront //mergés// dans **develop** au moment de l' | ||
- | ==== Commit message ==== | + | ===== Commit message |
[[https:// | [[https:// | ||
- Séparer le sujet du corps par une ligne | - Séparer le sujet du corps par une ligne | ||
Ligne 247: | Ligne 266: | ||
=== Limiter le sujet à 50 caractères === | === Limiter le sujet à 50 caractères === | ||
- | Si résumer ce que l'on vient de réaliser en 50 caractères est compliqué, c'est peut-être que l'on commit trop de changements en un. [[https:// | + | Si résumer ce que l'on vient de réaliser en 50 caractères est compliqué, c'est peut-être que l'on commit trop de changements en un. [[https:// |
=== Capitaliser le sujet === | === Capitaliser le sujet === |