Aller au contenu principal

Git & collaboration (L1)

Progression du module

#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é:

bashbash
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:

bashbash
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:

bashbash
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.

Sections