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

bb-generation Points 421

Ce n'est probablement pas la meilleure façon de procéder, mais vous pouvez utiliser git log pour afficher la liste des commits, puis utilisez git checkout [sha1 of D] pour passer à D.

0voto

pbertoni Points 50

En guise de solution de rechange, vous pouvez simplement revenir à HEAD avec

git checkout <branch>

Ensuite, passez à l'engagement que vous souhaitez, avec

git checkout HEAD~<offset>

0voto

Rahil Ahmad Points 755

Si vous utilisez vs code, Git history est un plugin génial qui vous permet de voir efficacement les commits et de vérifier leur contenu dans l'éditeur lui-même. Vérifiez l'historique de Git lien

0voto

guest Points 1
branchName=master; commitInOrder=1; git checkout $(git log --pretty=%H "${branchName}" | tac | head -n "${commitInOrder}" | tail -n 1)

où :

branchName correspond au nom de la branche

commitInOrder équivaut à un commit dans l'ordre à partir du tout premier commit dans la branche sélectionnée (donc 1 est le tout premier commit, 2 est le deuxième commit dans la branche, etc.)

0voto

Norfeldt Points 1383

Pour les utilisateurs de GUI et de vscode, je recommande d'utiliser l'extension git graph

enter image description here

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