Aller au contenu
SDETRole
SDETRole

Apprendre / Aide-mémoire

Aide-mémoire Git pour testeurs

Les commandes Git dont un testeur a besoin pour travailler sur un framework de test aux côtés des développeurs : créer une branche, commiter, rester à jour avec main, annuler une erreur sans perdre son travail et retrouver le commit qui a introduit un bug. Les commandes qui détruisent du travail sont signalées.

Vérifié avec Git 2.40+

Configuration

TâcheCode
Votre identité
git config --global user.name "Mei Lin"
git config --global user.email "mei@example.com"
Nom de la branche par défaut git config --global init.defaultBranch main
Cloner un dépôt git clone https://github.com/org/tests.git
pull en mode rebase par défaut git config --global pull.rebase true

Travail quotidien

TâcheCode
Qu’est-ce qui a changé ? git status
Nouvelle branche depuis la position actuelle git switch -c fix/login-flaky-wait
Indexer des fichiers git add tests/login.spec.ts
Indexer une partie d’un fichier git add -p
Commiter git commit -m "Wait for login response instead of sleep"
Pousser une nouvelle branche git push -u origin fix/login-flaky-wait
Récupérer les dernières modifications git pull
Changer de branche git switch main

Explorer

TâcheCode
Historique compact git log --oneline --graph --decorate -20
Historique d’un fichier git log --follow -p -- tests/login.spec.ts
Modifications non indexées git diff
Modifications indexées git diff --staged
Votre branche comparée à main git diff main...HEAD
Un commit git show 3f2a9c1
Qui a modifié ces lignes git blame -L 20,40 tests/login.spec.ts
Toutes les branches git branch -a

Rester à jour avec main

TâcheCode
Télécharger sans modifier les fichiers git fetch origin
Rejouer vos commits par-dessus main git rebase origin/main
Ou fusionner main dans votre branche git merge origin/main
Après avoir résolu un conflit git add <file> then git rebase --continue
Abandonner le rebase git rebase --abort
Pousser une branche rebasée sans risque git push --force-with-lease
Copier un commit sur cette branche git cherry-pick 3f2a9c1

Ne rebasez que vos propres branches. --force-with-lease refuse d’écraser des commits poussés par quelqu’un d’autre.

Annuler

SituationCommande
Abandonner les modifications d’un fichier (elles sont perdues) git restore tests/login.spec.ts
Désindexer un fichier en gardant les modifications git restore --staged tests/login.spec.ts
Corriger le message du dernier commit ou y ajouter un fichier git commit --amend
Annuler le dernier commit en gardant les changements indexés git reset --soft HEAD~1
Annuler un commit déjà poussé (ajoute un nouveau commit) git revert 3f2a9c1
Jeter toutes les modifications locales (elles sont perdues) git reset --hard HEAD
Retrouver un commit « perdu » git reflog

Sur les branches partagées, utilisez revert. reset et amend réécrivent l’historique et obligent tous les autres à réparer leur copie.

Mettre du travail de côté

TâcheCode
Remiser les modifications (stash) git stash push -m "half-done locator refactor"
Inclure les fichiers non suivis git stash push -u
Lister les stashs git stash list
Réappliquer et supprimer le plus récent git stash pop

Trouver le commit qui a tout cassé

TâcheCode
Démarrer git bisect start
Marquer le commit actuel comme mauvais git bisect bad
Marquer un commit connu comme bon git bisect good v2.3.0
Laisser un test décider à chaque étape git bisect run npx playwright test tests/checkout.spec.ts
Terminer et revenir git bisect reset

bisect run considère le code de sortie 0 comme bon et 1 à 127 comme mauvais (125 signifie ignorer ce commit).

S’exercer et approfondir

Autres aide-mémoire

Saisissez un terme pour rechercher sur SDETRole.

Recherche plein texte par Pagefind · s’exécute dans votre navigateur Ouvrir la page de recherche →