#Git & collaboration
Git est un carnet de bord: il enregistre des instantanés de votre code, permet d’explorer l’histoire, d’expérimenter dans des branches et de réunir des contributions. Bien utilisé, il rend les équipes sereines; mal utilisé, il crée de la confusion. Ce cours pose un modèle mental simple et des gestes sûrs.
#Le modèle mental: une histoire en arborescence
Imaginez une ligne du temps où chaque point est un commit. Une branche n’est qu’un curseur nommé sur cette ligne. Créer une branche, c’est dire “je continue l’histoire ici, sans toucher à la principale”. Fusionner, c’est réunir ces histoires. Rebaser, c’est réécrire où se greffent vos commits pour créer une lecture plus linéaire.
#Commencer: stage, commit, message
Le “staging area” vous laisse choisir ce qui entre dans le prochain commit. C’est un garde‑fou précieux: on prépare un petit lot cohérent, on l’explique, puis on l’enregistre.
Exemple guidé:
1git add src/button.tsx # sélectionne ce fichier pour le prochain commit2git diff --staged # relisez ce que vous allez enregistrer3git commit -m "UI: bouton primaire, variantes et état disabled"
Un bon message répond à “quoi” et “pourquoi” en peu de mots. Il rend l’historique autoportant et facilite les revues.
#Brancher pour isoler une idée
Isoler un changement dans une branche donne la liberté d’itérer, d’ouvrir une Pull Request, de recevoir des retours et d’ajouter des tests. Si vous partez de main
:
1git switch -c feat/bouton2# ... travail ...3git push -u origin feat/bouton
Ensuite, ouvrez une PR. Décrivez le contexte, les choix, et joignez des captures/tests.
#Fusionner en sécurité
Avant de fusionner, synchronisez‑vous: récupérez les derniers changements, rejouez vos commits par‑dessus pour détecter tôt les conflits et vérifier que les tests passent toujours:
1git fetch origin2git rebase origin/main # ou git merge origin/main si vous préférez éviter la réécriture
En cas de conflit, Git vous montre les zones à arbitrer. Résolvez, testez, puis git rebase --continue
. Si la situation se complique, git rebase --abort
et repartez tranquille.
#Quand ça dérape: revenir en arrière
Deux commandes “parachutes”: git restore
(pour remettre un fichier dans l’état de HEAD) et git revert
(pour créer un nouveau commit qui annule un commit passé). Évitez reset --hard
sur une branche partagée.
#Prochaine étape
Passez aux sections “Commits en pratique”, “Branches et fusions” et “Résolution de conflits” pour ancrer ces gestes, puis explorez un workflow d’équipe et une CI minimale.