2017-10-18 5 views
0

Je me suis dans un désordre et je me demandais si vous pouviez aider? Il y a probablement beaucoup à faire, alors j'espérais avoir le sens de ce que je devais faire.Git Switch/Checkout à ce

  • Rev 10 Ne compile pas correctement.
  • Rev 07 - Compile correctement. Je veux voir quelle est la différence entre Rev 07 et Rev 08 pour comprendre ce qui s'est mal passé, puis intégrer ces changements dans Rev 10.
  • J'ai besoin de vérifier les commits 08 et 09 pour voir s'ils peuvent compiler ou non.

C'est ce que je pense que je dois faire:

  1. je me suis engagé et poussé à sauver mes changements. (Peut-être que je pourrais avoir caché les changements, mais je ne sais pas comment faire pour l'instant.)
  2. Afficher le journal
  3. Switch/Voir à ce (Ap 09)
    • Je ne vouloir créer une branche. Je veux juste voir si ça compile. Après avoir terminé, je pense que je peux juste revenir à Rev 10 où je me suis arrêté. Si ma pensée est correcte?
    • Je ne voulais pas sélectionner 'Remplacer les changements d'arbre de travail (force)', parce que J'ai déjà commis et poussé mes fichiers de travail.

Peut-être que je me trompe, mais je ne pense pas que je dois créer une branche à chaque fois que je passe à une certaine caisse. Tout ce que je veux faire est de vérifier la compilation de la version, puis revenir à l'endroit où je me suis arrêté.

P.S. J'essaye d'accomplir ceci avec Windows GIT (si vous ne pourriez pas dire). Je peux obtenir le Jist des commandes Unix. Si ce n'est pas trop demander, je pensais aussi faire la version 07 version 11. Débarrassez-vous des versions qui ne compilent pas, au lieu de faire une autre "branche de travail". Quelle serait la bonne façon de faire quelque chose comme ça? Merci supplémentaires.

Merci,

Répondre

0

Le problème avec vérifier une révision antérieure lui-même est qu'il laisse votre repo en mode « sans tête ». Contrairement à Subversion, Git ne se souvient pas de la révision sur laquelle vous vous trouvez si ce n'est pas la pointe d'une branche.

Pour bien garder une trace des choses, vous devez créer une branche temporaire à cette révision antérieure, par exemple:

git checkout -b temp_branch older_commit 

Ceci est facile à faire, et vous pouvez toujours supprimer la branche plus tard - rappelez-vous que « git-branch -d "ne supprimera que les branches" fusionnées ", ce qu'une telle branche temporaire sera, donc une telle suppression sera relativement sûre.