En utilisant Git X et doit avoir tâté royalement sur quelque chose. On dirait qu'il y a quelques jours, j'ai créé une branche appelée detached HEAD
et m'y suis engagée. Mon processus normal consiste à valider master
, puis à le transmettre à Origin
. Mais je ne peux pas pousser detached HEAD
.
Mon prochain arrêt m'a baisé. J'ai sélectionné git checkout master
- et ma branche detached HEAD
a disparu. Pour en revenir à mon projet, tous mes changements des derniers jours ont été effacés.
Y a-t-il un moyen de récupérer ces modifications?
Si checkout master
était la dernière chose que vous avez faite, alors l'entrée refogHEAD@{1}
contiendra vos commits (sinon utilisez git reflog
ou git log -p
pour les trouver ). Utilisez git merge HEAD@{1}
pour les avancer rapidement dans le maître.
EDIT:
Comme indiqué dans les commentaires, Git Ready a un excellent article à ce sujet.
git reflog
et git reflog --all
vous donneront les hachages de validation des validations mal placées.
Source: http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html
Si votre HEAD détaché est une avance rapide du maître et que vous voulez juste les commits en amont, vous pouvez
git Push Origin HEAD:master
pousser directement, ou
git checkout master && git merge [ref of HEAD]
le fusionnera dans votre maître local.