6
votes

Effrayer ma vie avec Git: Je n'ai aucune branche!

J'avais choisi une vieille hash (commit) et j'avais travaillé dessus, en train de vérifier en joyeusement et d'ignorer des avertissements que je ne travaillais pas dans une branche. Ensuite, je suis passé à une branche et j'ai réalisé que j'avais aucun moyen de revenir à mes checkins orphelins (heureusement, j'ai eu la fenêtre du terminal ouvert encore, donc je l'ai vérifiée et ramifiée).

Comment puis-je obtenir Git pour me dire les noms des commits qui n'appartiennent pas à une branche? Ou tout simplement tous les engagements, si ce n'est pas possible ...


2 commentaires

"Vérification en joyeusement et à ignorer les avertissements". Eh bien, cela va montrer: vous pouvez ignorer les avertissements, mais vous devriez savoir ce que vous faites :-).


1,5 ans plus tard, lisez la question et les réponses, je ne pense pas que cela va montrer que du tout, mais peut-être le contraire: finalement, il sera tout clair.


3 Réponses :


2
votes

Vous pouvez les pêcher hors du reflex, qui stocke les engagements que vous avez choisis.

git reflog imprimera les plus récents commettrations pointées par la tête, qui est votre copie de travail.

Vous pouvez également obtenir une liste de tous les objets de votre arbre qui sont inaccessibles à partir de vos branches actuelles en utilisant git fsck .


1 commentaires

Excellent, Git FSCK est intéressant, n'a même pas entendu parler de cela.



7
votes

git reflog code> montrera le journal des références créées par une activité récente que vous avez effectuée. Pour une référence future, Git Checkout code> d'un commit vous met sur un détaché Head . Si vous voulez baser du travail sur un ancien commit, vous devez créer une succursale de ce commit. XXX PRE>

ou P>

git branch newbranch oldsha1
git checkout newbranch


1 commentaires

Merci! C'est en fait comment je suis revenu, mais sans git reflog c'était juste la chance



2
votes

voir Cette question qui a un grand Explication de la façon de trouver des catastrophes que vous avez chutées. Vous pouvez voir des engagements en suspens, etc. de la même manière.


3 commentaires

Homme qui est génial. Je n'utilise pas encore la cachette mais ça ouvre la porte. Merci John.


Oh mec, tu n'arrêteras jamais une fois que tu l'appris. Changements de stockage pour les essayer sur différentes branches, pour tester les fonts, pour basculer entre trois versions différentes d'un changement, pour vous débarrasser de la moitié de votre changement sans perdre l'autre moitié pour toujours ...


jamais vu votre commentaire ici parce que cela n'avait pas @yar dedans :) ... Quoi qu'il en soit, oui, j'apprends toujours de nouvelles choses sur Git tous les jours