2010-09-16 3 views
30

Je développais un projet d'équipe et j'ai réalisé soudainement que j'avais fait tellement de changements, que j'avais besoin de créer une branche.Branche de l'espace de travail local

Je ne l'ai jamais utilisé ramification dans TFS et quand je l'ai vu « Branch \ « A partir de la version de l'espace de travail » Je pensais que ce que j'ai besoin. Mais cette option ne fonctionne pas comme je supposé.

Comment puis-je créer une nouvelle branche, à partir de ma "copie locale du projet" et inclure tous les changements locaux "? L'option que j'ai mentionnée ci-dessus crée quelque chose comme une branche de ... Je ne sais pas exacly de quoi, mais je sais à coup sûr, que pas de ma version locale avec tous les changements. Comme je l'ai remarqué, la branche générée n'a pas de fichiers et de projet que j'ai ajouté.

+0

Wow. Conjonction étrange. Je viens de trouver le besoin de faire ça aussi. TFS 2010 pour moi. –

Répondre

25

Ce que je voudrais faire est:.

  • Shelve votre travail
  • Direction du dossier source appropriée
  • Utiliser TFS Power Tools pour unshelve à un autre endroit
  • Vérifiez dans

De cette façon, vous obtenez une bonne branche propre, et vous obtenez un enregistrement des changements que vous avez effectués.

+1

La commande pour le unshelve serait quelque chose comme ceci -> tfpt unshelve/migrate MyShelveset/source: $ \ projet \ trunk/target: $ \ projet \ branche –

+1

qui fonctionne pour moi: tfpt unshelve/migrate MyShelveset "/ source: $/project/trunk ""/target: $/project/branch " – Shrike

+8

Si le message" Impossible de déterminer l'espace de travail "est imprimé après l'exécution de la commande tfpt, il se peut qu'il n'y en ait pas actuellement dans le dossier cible local (_cd _). – HenrikW

3

La réponse de Robaticus est correcte, mais je souhaite ajouter quelques détails que je n'ai pas vu explicitement ailleurs. Je devais juste faire cela et ça a agi comme si ça fonctionnait mais ça ne l'était pas. Il ferait semblant de créer automatiquement ou copier, mais aucun fichier n'a été créé, et aucune extraction n'a été effectuée dans la nouvelle branche. Une erreur doit être déclenchée, mais aucune n'apparaît.

Il s'avère que les guillemets autour de la source et de la cible sont facultatifs si les chemins n'ont pas d'espaces, mais ils sont requis si des espaces existent.

Voici un modèle:

tfpt unshelve MyShelfsetName /migrate "/source:$/MyPath/My Path with spaces/MyBranch" "/target:$/MyPath/My Path with spaces/MyOtherBranch" 
12
  1. Téléchargez et installez TFS Power Tools
  2. SHELVE votre travail et rappelez-vous le nom
  3. Créer votre succursale de destination à partir du tronc que vous avez travaillé dans
  4. Mappez votre nouvelle branche et obtenez une copie locale du code
  5. Ouvrez Windows PowerShell et accédez à répertoire du code source d'origine
  6. Exécutez la commande suivante en remplaçant le Shelve défini le nom et la structure de répertoire avec votre propre:

    tfpt unshelve /migrate "MyShelveset" "/source:$/project/trunk" "/target:$/project/branch" 
    

(entre guillemets le nom de shelveset sont nécessaires si elle contient des espaces)

Cela devrait vous aider à éviter certains des problèmes que j'ai rencontrés lorsque j'ai essayé de suivre les instructions d'origine.

+1

je suis passé à la GIT il y a longtemps et je ne reviendrai pas à TFS, mais merci pour des conseils, il pourrait être utile pour quelqu'un. – Simon

0

Vous voudrez peut-être essayer celui-ci: Je suppose que vous utilisez Eclipse IDE et TFS Plugin. Vous devez être un administrateur TFS pour le projet.

  1. Ouvrez le projet dans le travail de l'espace et faites un clic droit sur elle
  2. vous remarquerez dans le menu « Team ».
  3. sélectionnez "Partager le projet" dans le menu étendu de "Team"
  4. Entrez les détails de l'équipe Foundation Server pour le connecter et sélectionnez la branche/le projet approprié pour mettre vos modifications. Vous pouvez également créer un nouveau dossier par le Panneau de configuration TFS.

  5. Partagez le projet dans la branche/le dossier sélectionné.

(CECI EST JUSTE AJOUT PROJET DE TFS-VOUS BESOIN DE CHECKIN NOW)

  1. clic droit sur le projet à nouveau. dans le menu "Team" vous trouverez l'option checkin changes. Cliquez sur le bouton et vos modifications seront envoyées au serveur.

Cheers!

Questions connexes