658 votes

est-il possible de git checkout branche précédente?

Je veux en quelque sorte l'équivilent de cd - pour git. Si je suis dans la branche master et que je coche foo , j'aimerais pouvoir taper quelque chose comme git checkout - pour retourner au master, et être capable de tapez à nouveau pour retourner à foo.

Est-ce que quelque chose comme ça existe? Serait-il difficile à mettre en œuvre?

1140voto

Karl Bielefeldt Points 15469

Depuis les notes de version pour la 1.6.2

@{-1} est un moyen de se référer à la dernière branche que vous étiez. C'est
accepté non seulement dans le cas d'un nom d'objet est prévu, mais n'importe où, un nom de la branche est prévu et agit comme si vous avez tapé le nom de la branche.
E. g. "git branch --piste mybranch @{-1}", "git merge @{-1}", et
"git rev-parse --symbolique-nom complet de @{-1}" ne fonctionnent pas comme prévu.

et

"git checkout -" est un raccourci pour "git checkout @{-1}".

28voto

manojlds Points 96599

Comme @Karl fait remarquer et de git checkout manuel:

Dans un cas particulier, la syntaxe "@ {- N}" pour la dernière branche N vérifie la branche (au lieu de se détacher). Vous pouvez également spécifier - qui est synonyme de "@ {- 1}".

Donc, à la fois git checkout - et git checkout @{-1} fonctionneraient dans ce cas

Je crois que le plus proche utilise le git reflog et analyse les derniers moving from branch1 to branch2 et git checkout branch1

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