Inébranlable dans TFS: Qu'est-ce que cela signifie?

Voici la partie que je reçois: lorsque vous rangez dans TFS, il fait une copie serveur des modifications afin qu'elles ne soient pas perdues, mais ne les vérifie pas dans le tronc/branche de code source sur lequel vous travaillez.

Question: dans quelles circonstances utiliseriez-vous la fonction "unshelve"? Cela signifie-t-il qu'il va supprimer le shelveset du serveur TFS? Pouvez - vous faire un get d'une étagère? Ou est-ce vraiment juste une description de diff entre le shelveset et le" vrai " code source?

47
demandé sur brentlightsey 2010-02-24 23:16:54

3 réponses

Unshelving est la façon dont vous restaurez le shelveset à votre machine afin que vous puissiez continuer à travailler dessus. Il ne change pas le shelveset sur le serveur (pour ce faire, vous devez rayonner à nouveau les choses et utiliser le même nom de shelveset).

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

Vous pouvez également l'utiliser pour partager des changements avec quelqu'un (pour des révisions de code ou d'autres raisons). Vous mettez vos changements à l'écart, puis l'autre personne peut aller et l'aider à voir ce que vous avez fait.

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

55
répondu Herms 2010-02-24 20:20:23

Herms est sur place. Lire sa réponse.

Une mise en garde importante: si vous avez fait un Get depuis la création du shelveset, Unshelve ne fera que restaurer la version locale des fichiers contenus dans le shelveset. Ainsi, il est fort probable que vous aurez un espace de travail incohérent.

Une bonne pratique consiste à toujours relancer Get après avoir désapprouvé . 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 demi-nouveau / demi-ancien état. Il vous faudra également résoudre les conflits entre le contenu du shelveset et les dernières révisions du serveur de manière proactive, au lieu de les découvrir uniquement @ Checkin time.

31
répondu Richard Berg 2010-02-25 15:08:24

J'utilise shelve pour sauvegarder le code en cours, juste au hasard que mon disque dur se bloque ou quoi de neuf. Je n'ai même pas à m'inquiéter de la construction de code, peu importe le travail, car le travail ne sera vu par aucun autre développeur de mon équipe (à moins qu'ils ne le cherchent).

Unshelve renvoie les modifications dans votre espace de travail. La suppression du shelveset du serveur est une suppression.

Suite à ce que Richard Berg a dit, la version de power tools DE unshelve comprend en fait un obtenir et de les résoudre.

4
répondu stannius 2010-03-11 19:55:13