Intro et recherche
Je pense donc avoir commis une grave erreur et je suis inquiet. J'ai parcouru les forums à la recherche de têtes détachées et j'ai failli trouver une réponse, mais les scénarios sont trop spécifiques et ne s'appliquent pas à ma situation actuelle. Si vous trouvez un fil de discussion spécifique qui répond à ma question, veuillez m'en faire part.
Par exemple : Comment puis-je concilier HEAD détaché et maître/origine ?
Le gars a déjà fait git rebase -i
ce que je n'ai pas fait. J'ai essayé de rebaser, mais cela n'a pas résolu mon problème.
Petit historique :
- Je suis nouveau dans git ; j'utilise git uniquement par moi-même
- Je possède le référentiel distant
- J'avais besoin d'un ancien code, et c'était une question de temps.
- J'ai appris un peu de programmation et je l'utilise sur mon lieu de travail où personne ne code (je ne peux donc pas vraiment demander de l'aide).
Question :
Pour accéder à l'ancien commit avec du code fonctionnel, j'ai fait (probablement la mauvaise chose) :
git log
git checkout <hash-of-desired-old-commit>
J'ai procédé à la finition du code. Dieu merci pour le contrôle de version ! Mais bon sang, pourquoi git est-il si compliqué ? Comment puis-je sauvegarder ce travail ? Je suis maintenant dans une tête détachée. Origin/Master est dans des commits futurs qui devraient de préférence tous être supprimés.
Ce que j'ai essayé :
- copié et collé le dossier entier ailleurs juste pour la sauvegarde
-
git add -A
a suivi avecgit commit -m "oh shit, detached head commit"
ygit rebase master
-
git reset --hard HEAD~3
par recommandation ici : Vérifier l'ancien commit et le transformer en nouveau commit
Pregunta : Comment réconcilier ma tête détachée avec l'origine/maître ? Une fois réconcilié, dois-je git push --force
ou autre (notamment avec le --force
drapeau) ? Il y a du travail à cette tête détachée, et j'ai lu que plus j'attends, le garbage collection peut venir manger ma branche perdue. Désolé, je n'ai pas de formation formelle en git... Je suis presque prêt à vérifier le master d'origine et à réécrire le code.
Merci d'avance.