web-dev-qa-db-fra.com

Qu'est-ce que les étagères dans TFS?

Est-ce que shelving dans TFS est simplement une vérification en douceur afin que les autres membres de l'équipe puissent voir le code source?

c'est-à-dire que le code mis à l'écart ne sera pas compilé correctement?

290
yaya6

Le rayonnage a de nombreuses utilisations. Les principaux sont:

  1. Changement de contexte: Sauvegarde du travail sur votre tâche actuelle afin que vous puissiez passer à une autre tâche de haute priorité. Supposons que vous travailliez sur une nouvelle fonctionnalité, en veillant à vos propres affaires, lorsque votre patron se présente et dit "Ahhh! Bug Bug Bug!" et vous devez abandonner vos modifications actuelles sur la fonctionnalité et réparer le bogue. Vous pouvez classer votre travail sur la fonctionnalité, corriger le bogue, puis revenir et décompresser pour travailler sur vos modifications ultérieurement.
  2. Partage de jeu de modifications: si vous souhaitez partager un jeu de modifications sans l'enregistrer, vous pouvez en faciliter l'accès aux autres en le mettant en cache. Cela pourrait être utilisé lorsque vous passez une tâche incomplète à quelqu'un d'autre (pauvre âme) ou si vous avez une sorte de code de test, vous ne vérifierez JAMAIS que quelqu'un d'autre a besoin de s'exécuter. h/t aux autres réponses à propos de l’utilisation de ceci pour les examens, c’est une très bonne idée.
  3. Sauvegarde de vos progrès: pendant que vous travaillez sur une fonctionnalité complexe, vous pouvez vous trouver à un «bon point» où vous souhaitez sauvegarder vos progrès. C'est le moment idéal pour ranger votre code. Supposons que vous piratiez du code CSS/HTML pour corriger les bogues de rendu. Habituellement, vous frappez dessus, en répétant tous les problèmes possibles auxquels vous pouvez penser jusqu'à ce que tout se passe bien. Cependant, une fois que tout se passe bien, vous voudrez peut-être essayer de nettoyer votre balisage afin que quelqu'un d'autre puisse comprendre ce que vous avez fait avant de l'archiver. Dans ce cas, vous pouvez ranger le code lorsque tout est correct. alors vous êtes libre d’aller et de refactoriser votre balisage, sachant que si vous le cassez accidentellement à nouveau, vous pouvez toujours revenir en arrière et obtenir votre changeset.

Toute autre utilisation?

430
TJB

La mise en rack est un moyen de sauvegarder toutes les modifications apportées à votre boîte sans être archivées. Les modifications sont conservées sur le serveur. À un moment ultérieur, vous ou l'un de vos coéquipiers pouvez les "détacher" de nouveau sur l'une de vos machines. 

C'est aussi génial à des fins de révision. Lors de l’enregistrement de mon équipe, nous classons nos modifications et envoyons un courrier électronique avec la description de la modification et le nom du groupe de modifications. Les membres de l'équipe peuvent ensuite afficher le jeu de modifications et donner leur avis.

FYI: La meilleure façon de passer en revue un plateau est d'utiliser la commande suivante

tfpt review/shelveset: shelvesetName; userName

tfpt fait partie de la Team Foundation Power Tools

101
JaredPar

C'est vrai. Si vous créez une étagère, votre code ne sera pas visible par les autres utilisateurs.

Il met vos modifications de code sur le serveur, qui est probablement mieux sauvegardé que votre PC de travail.

Il vous permet d’enregistrer vos modifications sur une autre machine, si vous avez envie de travailler à domicile.

D'autres personnes peuvent voir vos étagères (bien que je pense que cela peut être facultatif) afin de pouvoir revoir votre code avant un enregistrement.

31
teedyay

Je vois cela tout le temps, donc des informations supplémentaires concernant les branches:

Si vous travaillez avec plusieurs branches, les étagères sont liées à la branche spécifique dans laquelle vous les avez créées. Donc, si vous laissez trop longtemps un changeet Rust sur le plateau et que vous devez ouvrir une autre branche, vous devez le faire avec la version de juillet des outils électriques.

tfpt unshelve /migrate
14
joshua.ewer

Un point qui manque dans beaucoup de ces discussions est la façon dont vous revenez sur la même machine sur laquelle vous avez mis vos modifications en mémoire. Peut-être évident pour la plupart, mais ne l'était pas pour moi. Je crois que vous effectuez une annulation des modifications en attente - est-ce exact?

Je comprends que le processus est le suivant:

  1. Pour stocker vos modifications en attente actuelles, cliquez avec le bouton droit de la souris sur le projet, Etaler, ajoutez un nom de stockage.
  2. Cela enregistrera (ou supprimera) les modifications apportées au serveur (personne ne les verra)
  3. Vous devez ensuite annuler les modifications en attente pour rétablir votre code au dernier point d’archivage.
  4. Vous pouvez ensuite faire ce que vous devez faire avec la ligne de base du code annulé
  5. Vous pouvez Supprimez les modifications à tout moment (peut nécessiter un conflit de fusion)

Par conséquent, si vous souhaitez commencer certains travaux dont vous avez peut-être besoin pour Exécuter, assurez-vous de vous enregistrer avant de commencer, car le point d’enregistrement est celui où vous reviendrez lors de l’étape suivante de l’Annulation des modifications en attente.

13
Nick Wright

Les mises en rack sont comme si vos modifications avaient été stockées dans le contrôle de source sans affecter les modifications existantes. Signifie que si vous archivez un fichier dans le contrôle de source, il modifiera le fichier existant, mais se mettre en rangée revient à stocker vos modifications dans le contrôle de source, mais sans modifier les modifications réelles.

2
Mr. N. Das

Si vous utilisez des générations Gated, lorsqu'une génération est déclenchée, cela crée un plateau de votre espace de travail qui est soumis pour la construction. Si la construction échoue, le plateau est rejeté. Si la construction réussit, un jeu de modifications est créé et validé dans TFS. Dans les deux cas, la personne effectuant cet enregistrement/cette construction devra réconcilier l’espace de travail, ce qui est aussi simple que d’effectuer une opération Obtenir le dernier.

0
Jim Roth

@ JaredPar: Oui, vous pouvez utiliser les étagères pour les revues, mais gardez à l’esprit que les étagères peuvent être écrasées par vous-même ou par d’autres personnes et ne sont donc pas stables à long terme. Par conséquent, pour les révisions réglementaires pertinentes, vous ne devez jamais utiliser un Shelveset comme base, mais plutôt un archivage (Changeset) . Pour une révision informelle, il est correct mais pas pour une révision formelle (par exemple, FTA pertinent)!

0
Daniel