Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| linux:git_dev [18-01-2025 16:17] – créée edmc73 | linux:git_dev [02-02-2025 17:55] (Version actuelle) – [Gestion de branches pour le dev] edmc73 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Git dev ====== | ====== Git dev ====== | ||
| + | |||
| ===== Convention de nommage ===== | ===== Convention de nommage ===== | ||
| Ligne 47: | Ligne 48: | ||
| ===== Gestion de branches pour le dev ===== | ===== Gestion de branches pour le dev ===== | ||
| - | Créer | + | Branche de prod : master |
| + | |||
| + | On crée une branche | ||
| + | git checkout master | ||
| + | git checkout -b develop | ||
| + | |||
| + | Pour une nouvelle fonctionnalité, | ||
| + | git checkout master | ||
| git checkout -b feat/ | git checkout -b feat/ | ||
| - | Mettre | + | Pour la faire tester en dev |
| + | git checkout develop | ||
| + | git merge --no-ff feat/ | ||
| + | |||
| + | Lorsque la feature est terminé, on la merge sur develop et master puis on supprime la branche | ||
| + | git checkout develop | ||
| + | git merge --no-ff feat/ | ||
| + | git checkout master | ||
| + | git merge --no-ff feat/ | ||
| + | git branch -d feat/ | ||
| + | |||
| + | Même principe pour les branches hotfix | ||
| + | |||
| + | Si vous avez poussé les branches sur le dépôt distant, n' | ||
| + | git branch -a | ||
| + | |||
| + | |||
| + | |||
| + | Supprimer une branche | ||
| + | git branch -d feat/ | ||
| + | |||
| + | Supprimer une branche sur le dépôt | ||
| + | git push origin --delete feat/ | ||
| + | |||
| + | Renommer une branche | ||
| + | git checkout feat/ | ||
| + | git branch -m feat/new | ||
| + | git push origin -u feat/new | ||
| + | git push origin --delete feat/ | ||
| + | |||
| + | |||
| + | Voir toutes les branches (locales et distantes) | ||
| + | git branch -a | ||
| + | |||
| + | |||
| + | Je veux revenir en arrière de plusieurs commit sur une branche | ||
| + | git checkout feat/new | ||
| + | git reset --hard <numéro de commit> | ||
| + | git push --force | ||
| + | |||
| + | |||
| + | ====== rebase ====== | ||
| + | |||
| + | On pourrait utiliser rebase mais vu que ça réécrit les commits, ça devient le bazard avec le dépôt distant et ça génère beaucoup de conflit | ||
| + | |||
| + | Et on rebase la branch develop pour qu' | ||
| + | git checkout develop | ||
| + | git rebase master | ||
| + | |||
| + | Si on veut mettre | ||
| git checkout feat/ | git checkout feat/ | ||
| git rebase master | git rebase master | ||
| Ligne 56: | Ligne 113: | ||
| git rebase -i master | git rebase -i master | ||
| - | Merger sa branche | + | On peut aussi rebase develop |
| - | git checkout | + | git checkout |
| - | git merge feat/ | + | git rebase master |
| - | git branch -d feat/nouvelle-fonctionnalité | + | |
| + | ===== Tuto ===== | ||
| + | |||
| + | 40 problèmes / solutions : https:// | ||