Existe-t-il un moyen d'obtenir une version spécifique (à partir d'un commit spécifique) d'un fichier dans Visual Studio 2015 - Team Explorer/Team Services Git?
Je souhaite simplement exécuter la solution avec une version précédente d'un fichier, juste pour voir comment les choses fonctionnaient auparavant, puis revenir à la dernière version pour poursuivre le développement.
Je n'ai créé aucune branche. J'ai continué à m'engager dans la branche "maître".
Dans Visual Studio 2015, si vous affiche l'historique (à partir des actions menu du panneau Modifications dans Team Explorer):
Puis faites un clic droit sur le commit qui vous intéresse:
Vous pouvez créer une branche à partir de là:
Je ne peux pas voir un moyen de simplement valider la validation dans Visual Studio.
En utilisant la ligne de commande, vous pouvez vérifier le commit SHA que vous voulez utiliser:
git checkout 9eab01d9
Lorsque vous avez terminé, vérifiez à nouveau master:
git checkout master
Vous pourriez recevoir des avertissements concernant le travail sur une tête isolée, dans ce cas, vous pourriez créer une branche temporairement :
git checkout -b temp-branch-name 9eab01d9
Il est judicieux de se familiariser avec la ligne de commande Git, les outils Visual Studio arrivent, mais il manque beaucoup de fonctionnalités.
Merci à Matt Frear d’avoir fait remarquer que ma réponse initiale remettait toute la solution à un commit spécifique, alors que la question était de savoir comment utiliser une version spécifique de un fichier tout en gardant la dernière de tout le reste. Gardez le contenu de la publication originale en bas, au cas où quelqu'un le jugerait utile.
Pour conserver votre solution entière au plus tard, mais utilisez une ancienne version d'un fichier individuel:
Utilisation de Visual Studio 2015 Update 3:
Je vais ajouter des captures d’écran et nettoyer/reformater la réponse pour qu’elle soit plus facile à suivre, mais je voulais obtenir une réponse modifiée qui réponde mieux à la question jusqu’à ce que j’ai le temps de la revoir.
Vous aurez maintenant le dernier de chaque fichier dans le référentiel, à l'exception du fichier sur lequel vous venez d'annuler les modifications. Vous pouvez maintenant réinitialiser mixé à nouveau sur le dernier commit pour ne voir que le fichier que vous utilisez dans l'ancienne version de Team Explorer → Modifications, mais si tout ce que vous essayez de faire est d’exécuter la solution, cette étape est inutile.
Pour réinitialiser l'ensemble du référentiel solution/source sur un commit spécifique:
Utilisation de Visual Studio 2015 Update 3:
[~ # ~] important [~ # ~]
Avec cette approche, tous les commits sortants seront perdus.
Assurez-vous d'effectuer l'étape 1 (appuyez sur les validations sortantes)
Cliquez avec le bouton droit de la souris sur le commit souhaité et sélectionnez Reset → Réinitialiser et supprimer les modifications (--hard). . Dans Team Explorer → Sync, puis dans la fenêtre Afficher l'historique, vous obtiendrez des validations entrantes de la validation souhaitée à la dernière validation de la branche distante. et votre code local correspondra au commit voulu.
Lorsque vous avez terminé, effectuez une extraction Team Explorer → Sync pour amener votre branche locale au dernier commit de la branche distante.
Voir cette bonne réponse qui explique la commande 'git reset' et la différence entre --hard vs --mixed.
(Cela fonctionne à la fois dans VS2015 et VS2017.)
Je crois que c'est le moyen le plus simple:
Vous pouvez maintenant faire ce que vous voulez avec ce fichier, puis annuler la modification en attente lorsque vous avez terminé.