2010-09-16 7 views
30

Ich entwickelte Team-Projekt und erkannte plötzlich, dass ich so viele Änderungen vorgenommen habe, dass ich Zweig erstellen muss.Zweig vom lokalen Arbeitsbereich

Ich habe noch nie verwendet in TFS Verzweigung und wenn i „Zweig \‚Von Workspace Version‘sah, dachte ich, dass das, was ich brauche. Aber diese Option wirkt nicht, wie ich sollte.

Wie kann ich einen neuen Zweig erstellen, von meinem "LOCAL COPY of Project" und alle lokalen Änderungen einschließen "? Die Option, die ich oben erwähnte, erzeugt etwas wie Verzweigung von ... ich weiß nicht genau von was, aber ich weiß sicher, dass nicht von meiner lokalen Version mit allen Änderungen. Wie ich bemerkt habe, hat der generierte Zweig keine Dateien und Projekte, die ich hinzugefügt habe.

+0

Wow. Seltsame Übereinstimmung. Ich habe gerade die Notwendigkeit gefunden, dies auch zu tun. TFS 2010 für mich. –

Antwort

25

Was ich tun würde, ist:.

  • Shelve Ihre Arbeit
  • Zweig aus dem entsprechenden Quellordner
  • Verwenden TFS Power Tools an einen anderen Ort unshelve
  • Check in

Auf diese Weise erhalten Sie einen schönen sauberen Zweig, und Sie erhalten eine Aufzeichnung der Änderungen, die Sie vorgenommen haben.

+1

Der Befehl für den unshelve wäre in etwa so -> tfpt unshelve/migrate MyShoveset/source: $ \ project \ trunk/target: $ \ project \ branch –

+1

das funktioniert für mich: tfpt unshelve/migrate MyShoveset "/ source: $/project/trunk ""/target: $/project/branch " – Shrike

+8

Wenn die Meldung" Kann den Arbeitsbereich nicht bestimmen "nach dem Ausführen des tfpt-Befehls gedruckt wird, könnte es sein, dass sich momentan nicht im lokalen Zielordner (_cd) befindet _). – HenrikW

3

Die Antwort von Robaticus ist richtig, aber ich möchte einige Details hinzufügen, die ich an anderer Stelle nicht explizit erwähnt habe. Ich musste das einfach machen und es tat so, als würde es funktionieren, aber das war es nicht. Es würde vorgeben, automatisch zu kopieren oder zu kopieren, aber es wurden keine Dateien erstellt, und in der neuen Zweigstelle wurden keine Auscheckvorgänge durchgeführt. Ein Fehler sollte ausgelöst werden, aber keiner erscheint.

Es stellt sich heraus, dass die Anführungszeichen um die Quelle und das Ziel optional sind, wenn die Pfade keine Leerzeichen haben, aber sie sind erforderlich, wenn Leerzeichen vorhanden sind.

Hier ist eine Vorlage:

tfpt unshelve MyShelfsetName /migrate "/source:$/MyPath/My Path with spaces/MyBranch" "/target:$/MyPath/My Path with spaces/MyOtherBranch" 
12
  1. herunterladen und installieren TFS Power Tools
  2. Ihre Arbeit Shelve und den Namen
  3. Erstellen Sie Ihr Ziel Zweig vom Stamm in
  4. gearbeitet haben Sie
  5. erinnern Ordnen Sie Ihrem neuen Zweig eine lokale Kopie des Codes zu
  6. Öffnen Sie Windows PowerShell und wechseln Sie zu dem Verzeichnis der ursprünglichen Quellcode
  7. den folgenden Befehl stellen Sie den Shelve ersetzen Führen Namen und Verzeichnisstruktur mit Ihren eigenen:

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

(Anführungszeichen Shelveset Namen sind erforderlich, wenn es enthält Leerzeichen)

Dies sollte Ihnen helfen, einige der Probleme zu vermeiden, denen ich begegnet bin, als ich versucht habe, den ursprünglichen Anweisungen zu folgen.

+1

Ich wechselte vor langer Zeit zum GIT und ich werde nicht wieder zu TFS kommen, aber thx für Ratschläge, könnte es für jemanden nützlich sein. – Simon

0

Sie können dies versuchen: Ich nehme an, Sie verwenden Eclipse IDE und TFS-Plugin. Sie müssen ein TFS-Administrator für das Projekt sein.

  1. Öffnen Sie das Projekt im Arbeitsraum und einen Rechtsklick darauf
  2. werden Sie „Team“ im Menü bemerken.
  3. wählen Sie „Projekt freigeben“ im erweiterten Menü von „Team“
  4. Team Foundation Server Details geben Sie es zu verbinden und das entsprechende Branche/Projekt wählen, um die Änderungen zu setzen. Sie können einen neuen Ordner auch über die TFS-Systemsteuerung erstellen.

  5. Teilen Sie das Projekt im ausgewählten Zweig/Ordner.

(DIES IST einfach nur mit PROJEKT TFS-SIE CHECKIN NEED NOW)

  1. rechts auf das Projekt erneut auf. im Menü "Team" finden Sie die Check-in-Optionen.
  2. klicken Sie darauf und Ihre Änderungen werden an den Server gesendet.

Prost!