web-dev-qa-db-fra.com

Unshelving dans TFS: qu'est-ce que cela signifie?

Voici la partie que j'obtiens: Lorsque vous mettez en rayon dans TFS, il fait une copie du serveur des modifications afin qu'elles ne soient pas perdues, mais ne les enregistre pas dans le tronc/branche de code source sur lequel vous travaillez.

Question: Dans quelles circonstances utiliseriez-vous la fonction "décompresser"? Cela signifie-t-il qu'il supprimera l'étagère du serveur TFS? Pouvez-vous obtenir un étagère? Ou est-ce vraiment juste une description diff entre l'étagère et le "vrai" code source?

53
brentlightsey

Unshelving est la façon dont vous restaurez l'étagère de votre machine afin que vous puissiez continuer à travailler dessus. Cela ne change pas l'étagère sur le serveur (pour ce faire, vous devez à nouveau mettre les choses de côté et utiliser le même nom d'étagère).

Un exemple de la façon dont je l'utilise est de déplacer des modifications entre des machines pendant que je travaille dessus. Je vais le ranger sur ma machine de bureau, puis le décompresser sur l'ordinateur portable et continuer à travailler sur l'ordinateur portable.

Vous pouvez également l'utiliser pour partager des modifications avec quelqu'un (pour des révisions de code ou pour d'autres raisons). Vous mettez vos changements de côté, puis l'autre personne peut aller le retirer pour voir ce que vous avez fait.

Unshelving ne change pas réellement l'étagère ou quoi que ce soit d'autre sur le serveur. C'est juste une opération get.

63
Herms

Herms est sur place. Lisez sa réponse.

Une mise en garde importante: si vous avez effectué un Get depuis la création de l'étagère, Unshelve ne rétrograde que la version locale des fichiers contenus dans l'étagère . Ainsi, il est fort probable que vous disposiez d'un espace de travail incohérent.

Une bonne pratique consiste à toujours relancer Get after you Unshelve. Cela garantit que vous ne perdez pas de temps sur les erreurs de construction fantôme qui ne sont en fait que des effets secondaires d'être dans un état à moitié nouveau/à moitié ancien. Il vous faudra également résoudre de manière proactive tout conflit entre le contenu de l'étagère et les dernières révisions du serveur, au lieu de les découvrir uniquement au moment de l'enregistrement.

31
Richard Berg

J'utilise Shelve pour sauvegarder le code en cours, juste au cas où mon disque dur tombe en panne ou autre chose. Je n'ai même pas à me soucier de la construction du code, même si je travaille, car le travail ne sera pas vu par les autres développeurs de mon équipe (à moins qu'ils ne le recherchent).

Unshelve suspend les modifications dans votre espace de travail. La suppression de l'étagère du serveur est une suppression.

À la suite de ce que Richard Berg a dit, la version de unshelve des outils électriques comprend en fait un get et une résolution.

4
stannius