Dans mon dépôt git, j'ai fait 5 commits, comme ci-dessous dans mon git log:
commit 4f8b120cdafecc5144d7cdae472c36ec80315fdc
Author: Michael
Date: Fri Feb 4 15:26:38 2011 -0800
commit b688d46f55db1bc304f7f689a065331fc1715079
Author: Michael
Date: Mon Jan 31 10:37:42 2011 -0800
commit b364f9dcec3b0d52666c4f03eb5f6efb7e1e7bda
Author: Michael
Date: Wed Jan 26 13:33:17 2011 -0800
commit 4771e26619b9acba3f059b491c6c6d70115e696c
Author: Michael
Date: Wed Jan 26 11:16:51 2011 -0800
commit 6e559cb951b9bfa14243b925c1972a1bd2586d59
Author: Michael
Date: Fri Jan 21 11:42:27 2011 -0800
Comment puis-je annuler mes 4 commits précédents localement dans une succursale? En d'autres termes, comment puis-je créer une branche sans mes 4 derniers commits (en supposant que j'ai le SHA de ce commit depuis git log)?
<commit_hash>
est dans une autre branche qui est en avance?git checkout master
, à côté d'un ou deux cas extrêmes qui peuvent s'appliquer à certaines situations.Si vous souhaitez supprimer les quatre derniers commits, utilisez:
Vous pouvez également spécifier le hachage d'un commit sur lequel vous souhaitez réinitialiser:
la source
git reflog
et y revenir - mais cela les jetterait, oui.Vérifiez simplement le commit à partir duquel vous voulez que votre nouvelle branche commence et créez une nouvelle branche
la source
Ce qui signifie que vous ne créez pas de nouvelle branche et ne passez pas à l'état détaché. La nouvelle façon de faire est:
git switch --detach revison
la source