Utiliser le flux de travail bissectrice
Bisect trouve le premier commit qui a introduit un problème en réduisant de moitié l'historique entre un commit qui l'a et un qui ne l'a pas, comme git bisect. Sélectionnez les deux commits, testez le commit GitTree, marquez-le Good ou Bad et répétez jusqu'à ce qu'il nomme le First bad commit.
Fonctionne dans GitTree Gratuit : toutes les fonctionnalités Git locales, une fois connecté.
Sur cette page
Avant de commencer
- Vous connaissez un commit où le problème existe et un ancien où il n'existe pas, et comment le tester.
- Validez ou cachez vos modifications : bisect extrait les validations.
Où le trouver
- Sélectionnez les deux commits dans le graphique, faites un clic droit : Bisect Between These Commits.
| Action | macOS | Windows et Linux |
|---|---|---|
| Jump to HEAD | ⌘⇧H | Ctrl+Shift+H |
Mesures
Commencer entre deux commits
Sélectionnez un commit avec le problème et un autre plus ancien sans celui-ci (Ctrl-clic, ⌘-clic sur un Mac), puis choisissez Bisect Between These Commits. Le plus récent est traité comme mauvais, le plus ancien comme bon.
Tester le commit extrait
GitTree vérifie un commit à mi-chemin et indique combien de révisions il reste à tester. Créez ou exécutez votre test.
Marquez-le
Dans la bannière, choisissez Good si le problème est absent, Bad s'il existe ou Skip si vous ne pouvez pas tester ce commit.
Lire la réponse
Lorsqu'il reste un commit, GitTree indique First bad commit: avec son SHA. Show in Graph le sélectionne.
Résultat attendu
Vous savez exactement quel commit a introduit le problème ; choisissez End Bisect pour revenir à votre point de départ.
Conseils
- Chaque étape réduit de moitié ce qui reste : mille commits nécessitent environ dix étapes.
- Pendant la bissectrice, vous êtes sur une TÊTE détachée ; c'est prévu.
- End Bisect vous ramène toujours là où vous avez commencé.
Si quelque chose ne va pas
La bissectrice entre ces validations est grisée
Sélectionnez exactement deux validations et terminez ou abandonnez d'abord toute fusion ou rebase en cours.
Questions
Que se passe-t-il si un commit ne se construit pas ?
Choisissez Skip. Git choisit à la place un commit à proximité ; la réponse peut alors être une courte portée plutôt qu'un seul engagement.