150 votes

Comment avancer et reculer entre les commits dans git ?

Je fais un git bisect et après être arrivé à l'engagement problématique, j'essaie maintenant de faire un pas en avant/en arrière pour m'assurer que je suis dans le bon.

Je connais HEAD^ pour revenir en arrière dans l'histoire, mais existe-t-il un autre raccourci pour me faire avancer (vers un engagement spécifique dans le futur) comme suit :

A - B - C(HEAD) - D - E - F

Je sais que ma cible est F et je veux passer de C à D .


REMARQUE : il ne s'agit pas d'un duplicata de Git : Comment passer d'un commit à l'autre Ma question est légèrement différente et n'y trouve pas de réponse.

0voto

ys64 Points 50

J'utiliserais git-reflog y git-reset .

Il ne s'agit pas du même cas que celui que vous exécutez git-bisect mais supposons que vous git-reset à l'engagement C et souhaite le ramener à l'engagement F.

Au point, git-reflog ressemble à ceci :

$ git reflog show
4444444 (HEAD -> main) HEAD@{0}: reset: moving to 4444444
1111111 HEAD@{1}: commit: F
2222222 HEAD@{2}: commit: E
3333333 HEAD@{3}: commit: D
4444444 (HEAD -> main) HEAD@{4}: commit: C
5555555 HEAD@{5}: commit: B
6666666 HEAD@{6}: commit: A

Ensuite, vous pouvez exécuter git-reset pour revenir à n'importe quel commit en spécifiant le hachage SHA1 ou le numéro de décalage par rapport à HEAD.

Dans votre cas, lancez git-reset comme suit :

$ git reset 1111111

ou

$ git reset HEAD@{1}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X