Passer au contenu
GitTree
Histoire et récupération

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.

GratuitMis à jour

Fonctionne dans GitTree Gratuit : toutes les fonctionnalités Git locales, une fois connecté.

Sur cette page
  1. Avant de commencer
  2. Où le trouver
  3. Mesures
  4. Résultat attendu
  5. Conseils
  6. Si quelque chose ne va pas
  7. Questions
  8. En rapport

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.
ActionmacOSWindows et Linux
Jump to HEAD⌘⇧HCtrl+Shift+H

Mesures

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

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

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

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