màj wiki avec retour MES lot-5 AD
This commit is contained in:
@@ -0,0 +1,170 @@
|
||||
# Gestion des versions du projet avec GIT
|
||||
|
||||
> Source : [Confluence EasyWMS France](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/3000089968867/Gestion+des+versions+du+projet+avec+GIT)
|
||||
> Dernière mise à jour : 22/08/2025 (v27)
|
||||
|
||||
---
|
||||
|
||||
La gestion est expliquée en parallèle via l'**invite de commande** et le logiciel **[SourceTree](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/3000088854571)** (configuré en anglais).
|
||||
|
||||
Ressources utiles :
|
||||
- [Équivalences git ↔ git flow](https://gist.github.com/JamesMGreene/cdd0ac49f90c987e45ac)
|
||||
- [Git flow cheat sheet](http://danielkummer.github.io/git-flow-cheatsheet/)
|
||||
|
||||
---
|
||||
|
||||
## 1 - Initialiser le projet en local
|
||||
|
||||
### Clone
|
||||
|
||||
**Git (CLI) :**
|
||||
```bash
|
||||
cd <emplacement souhaité>
|
||||
git clone <url>
|
||||
```
|
||||
|
||||
**SourceTree :** Utiliser le bouton "Clone" et renseigner l'URL du repo.
|
||||
|
||||
> L'URL du repo GIT se trouve dans l'interface de gestion du projet (bouton "Clone" ou "Code" selon la plateforme).
|
||||
|
||||
### Initialiser Git Flow
|
||||
|
||||
Git Flow est une extension de Git qui impose un workflow structuré et uniformise la gestion des branches.
|
||||
|
||||
**Git (CLI) :**
|
||||
```bash
|
||||
git flow init -d \
|
||||
--feature feature/ \
|
||||
--bugfix bugfix/ \
|
||||
--release release/ \
|
||||
--hotfix hotfix/ \
|
||||
--support support/ \
|
||||
-t ''
|
||||
git push --set-upstream origin develop
|
||||
```
|
||||
|
||||
**SourceTree :** Cliquer sur l'icône Git Flow → ne rien modifier dans la fenêtre de configuration → cliquer sur **OK**.
|
||||
|
||||
---
|
||||
|
||||
## 2 - Création d'une nouvelle feature/branche
|
||||
|
||||
Vérifier d'abord qu'il n'y a pas de commit à récupérer :
|
||||
|
||||
**Git (CLI) :**
|
||||
```bash
|
||||
git pull
|
||||
```
|
||||
|
||||
**SourceTree :** Cliquer sur le bouton **"Pull"**.
|
||||
|
||||
Créer la nouvelle feature pour la tâche :
|
||||
|
||||
**Git (CLI) :**
|
||||
```bash
|
||||
git flow feature start <nom de la feature>
|
||||
# Ex : git flow feature start PD-49
|
||||
```
|
||||
|
||||
**SourceTree :** Cliquer sur l'icône Git Flow → "Start New Feature" → saisir le nom.
|
||||
|
||||
Déployer la VM depuis la nouvelle branche en repartant du point de contrôle **"DEPLOY 0"** :
|
||||
- [Déploiement d'une application existante](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/3000089575437)
|
||||
- [Appliquer un point de contrôle](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/3000088985657/Point+de+contr%C3%B4le+-+VM#Appliquer-un-point-de-contr%C3%B4le-%3A)
|
||||
|
||||
> Si une pop-up de connexion apparaît sur SmartUI : [procédure dédiée](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/3000144789544)
|
||||
|
||||
Vous êtes prêt à commencer vos développements. ✅
|
||||
|
||||
---
|
||||
|
||||
## 3 - Commit de vos modifications
|
||||
|
||||
Avant de committer, exporter toutes les modifications réalisées :
|
||||
|
||||
1. **Exporter l'application custom** depuis votre branche de développement → [Gestion de la custom application — Export](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/3000089673775/Gestion+de+la+custom+application#3---Export-de-l%E2%80%99application-custom)
|
||||
2. **Si des paramètres/configurations WMS ont été modifiés** : faire un export des datas → [Export des données via uGNA](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/3000145018888)
|
||||
3. **Si des fichiers BOO du GNA ont été modifiés** : exécuter la sauvegarde → [Sauvegarder la configuration sur le GIT](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/3000089673800/Installation+Services+et+Licence+WMS#Sauvegarder-la-configuration-sur-le-GIT)
|
||||
|
||||
**Git (CLI) :**
|
||||
```bash
|
||||
# Ajouter tous les fichiers modifiés
|
||||
git add .
|
||||
# Ou un fichier spécifique
|
||||
git add <Nom du fichier>
|
||||
|
||||
# Committer avec un message explicite
|
||||
git commit -m "<Message expliquant vos modifications>"
|
||||
|
||||
# Pousser sur la remote
|
||||
git push
|
||||
```
|
||||
|
||||
**SourceTree :**
|
||||
1. Cliquer sur **"Commit"** (haut à gauche)
|
||||
2. Ajouter tous les fichiers via **"Stage all"**, ou fichier par fichier via drag & drop ou sélection + "Stage selected"
|
||||
3. Écrire le message de commit
|
||||
4. Cliquer sur **"Commit"**
|
||||
5. Pour push simultané : cocher l'option **"Push changes immediately"**
|
||||
|
||||
> ℹ️ Les fichiers générés par l'export de l'application custom sont séparés en plusieurs fichiers pour un même élément (workflow, source C#, DESIGN…). Bien prendre **tous les fichiers** portant le nom de l'élément modifié.
|
||||
|
||||
> ⚠️ **Règle absolue** : commit et push ses développements **tous les soirs avant de quitter les bureaux** afin d'éviter toute perte de données (perte/vol/casse du PC).
|
||||
|
||||
---
|
||||
|
||||
## 4 - Fin de la tâche de développement
|
||||
|
||||
Une fois les développements testés et validés, "clôturer" la branche de développement.
|
||||
|
||||
### Mettre à niveau la branche "develop"
|
||||
|
||||
**Git (CLI) :**
|
||||
```bash
|
||||
git switch develop
|
||||
git pull
|
||||
```
|
||||
|
||||
**SourceTree :** Double-cliquer sur la branche `develop` pour la sélectionner, puis cliquer sur **"Pull"**.
|
||||
|
||||
### Clôturer la feature
|
||||
|
||||
**Git (CLI) :**
|
||||
```bash
|
||||
git flow feature finish -r <Nom feature>
|
||||
git push
|
||||
# Ex : git flow feature finish -r PD-49
|
||||
```
|
||||
|
||||
**SourceTree :**
|
||||
1. Cliquer sur l'icône Git Flow → sélectionner la feature à clôturer
|
||||
2. ✅ Bien cocher **"Rebase on development Branch"**
|
||||
3. Valider, puis cliquer sur **"Push"**
|
||||
|
||||
### Gérer les conflits
|
||||
|
||||
Si des conflits apparaissent lors du rebase :
|
||||
|
||||
1. Ouvrir le ou les fichiers en conflit avec votre éditeur préféré (Visual Studio Code recommandé) et résoudre les conflits
|
||||
|
||||
**Git (CLI) :**
|
||||
```bash
|
||||
git add <nom du fichier en conflit>
|
||||
git rebase --continue
|
||||
# Répéter pour tous les commits jusqu'à la fin du rebase
|
||||
# Puis recommencer la clôture de la feature
|
||||
```
|
||||
|
||||
**SourceTree :**
|
||||
1. **Ne pas faire de commit** — seulement "stage" les fichiers résolus
|
||||
2. Cliquer sur **"Continue Rebase"**
|
||||
3. Répéter pour tous les commits de la branche `develop`
|
||||
4. Recommencer la clôture de la feature **sans cocher "Rebase"** cette fois
|
||||
|
||||
### Mettre à jour l'état de la tâche Jira
|
||||
|
||||
Passer le ticket à **"Revue de code"**.
|
||||
|
||||
---
|
||||
|
||||
> Plus de détails sur les commandes Git : [Formation Git — Invite de commandes](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/219995865278/Formation+Git#Utilisation-via-invite-de-commandes)
|
||||
Reference in New Issue
Block a user