Quelle est la meilleure façon de changer l'arbre de travail à un engagement spécifique avant bissectrice?

StackOverflow https://stackoverflow.com/questions/2096561

  •  21-09-2019
  •  | 
  •  

Question

Mon habitude flux de travail lors du démarrage d'une session de git bisect est:

git bisect start          # start a bisect session
git bisect bad            # I noticed that the current state is broken

Maintenant, souvent, je sais que les choses ont fonctionné dans le passé, mais je ne sais pas encore quelle version était bon, donc je veux généralement revenir mon arbre de travail à un état ancien, construire, tester, répéter jusqu'à ce que je trouve un version de travail que je peux marquer avec git bisect good.

Quelle est la meilleure façon de faire le « Revenir en arrière mon arbre de travail à un état plus ancien » étape? git reset --hard <some_good_rev>? git checkout <some_good_rev>? Autre chose? S'il vous plaît justifier votre réponse.

Était-ce utile?

La solution

En général, je ne sais pas où le bien est rev, donc je dois le trouver. Devinez dans quelle mesure pourrait être bon retour. Disons, 32 tours. A partir de l'extrémité d'une branche, et des répertoires de travail propres:

$ git checkout HEAD~32

Exécuter le test. Si c'est un bon tour, commencer bissectrice. Si ce n'est pas, revenir un peu plus:

$ git checkout HEAD~32

Rincer, faire mousser, répéter.

Pourquoi "git checkout?" Parce que « git reset » changera qui charge les points de branchement comme sa « pointe », mais git checkout ne sera pas.

Autres conseils

Si vous ne savez pas que toute version où la fonctionnalité a travaillé (la validation qui a introduit la fonctionnalité?), Vous semblez perdre beaucoup (tout?) De la prestation d'un sécable. Si vous ne savez qu'il y avait au moins un commettras où la fonctionnalité a fonctionné, même si elle est pas nécessairement la plus récente commit où la fonctionnalité a fonctionné, juste drapeau que l'un aussi bon. Sinon, vous faites essentiellement vous-même BiSect.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top