Git — aide-mémoire du flux de travail en équipe
Branches, commits propres, résolution de conflits, rebase, tags de version et commandes de secours.
- #ci-cd
- #automation
Cycle quotidien
git switch -c feature/ajout-healthcheck
git add -p # indexer par morceaux
git commit -m "feat(api): ajoute l'endpoint /health"
git fetch origin && git rebase origin/main
git push -u origin feature/ajout-healthcheck
Messages de commit au format Conventional Commits (feat, fix, docs, refactor, chore) : ils permettent de générer le changelog.
Résoudre un conflit
git merge main # ou git rebase main
git status # fichiers en conflit
# éditer : supprimer les marqueurs <<<<<<< ======= >>>>>>>
git add fichier && git merge --continue # ou git rebase --continue
Relancez les tests après résolution : un conflit résolu syntaxiquement peut rester faux fonctionnellement.
Versions
git tag -a v1.4.0 -m "Version 1.4.0"
git push origin v1.4.0
git describe --tags
Inspecter
git log --oneline --graph --decorate --all
git diff main...feature/x # changements de la branche depuis la divergence
git blame -L 40,60 app.py
git bisect start; git bisect bad; git bisect good v1.3.0
Secours
| Situation | Commande |
|---|---|
| Annuler le dernier commit (garder les modifs) | git reset --soft HEAD~1 |
| Annuler un commit déjà poussé | git revert <sha> |
| Retrouver un commit « perdu » | git reflog |
| Mettre de côté un travail en cours | git stash push -m "wip" |
| Abandonner un rebase | git rebase --abort |
Ne réécrivez jamais l'historique d'une branche partagée (
push --forcesurmain). Si nécessaire :--force-with-lease.