TFS: Übermitteln Sie lokal in einem Zweig vorgenommene Änderungen an einen anderen Zweig

73

Ich habe an vielen Dateien Änderungen vorgenommen und in der Zwischenzeit angenommen, dass ich diesen nicht getesteten Code lieber in einen noch zu erstellenden Zweig übertrage, damit Benutzer der vorhandenen Codebasis nicht betroffen sind.

Da ich wirklich viele, viele Dateien berührt und neue Unterprojekte usw. erstellt und hinzugefügt habe, möchte ich vermeiden, Dateien und Ordner manuell zu kopieren.

Was ist der einfachste Weg, dies in Visual Studio zu erreichen?

Evgeniy Berezovsky
quelle

Antworten:

93

Diese Funktionalität wird mit bereitgestellt tfpt unshelve /migrate. Gehen Sie folgendermaßen vor, um es zu verwenden:

  1. Erstellen Sie ein Regalset Ihrer Änderungen (über die Benutzeroberfläche oder tf shelve . /R)
  2. Erstellen Sie den neuen Zweig
  3. Laden Sie die Team Foundation Server Power Tools herunter und installieren Sie sie
  4. Führen Sie an einer Visual Studio-Eingabeaufforderung den folgenden Befehl aus: tfpt unshelve /migrate /source:$/TeamProject/Main /target:$/TeamProject/Beta

Dadurch werden die Pfade in Ihrem Regalsatz im Wesentlichen neu in den neuen Zweig geschrieben.

Grant Holliday
quelle
13
Führen Sie tfpt unshelve aus einem zugeordneten Verzeichnis aus, um zu vermeiden, dass der Arbeitsbereich nicht ermittelt werden kann
tymtam
14
Erwähnenswert ist auch, dass Sie nach Ausgabe dieses Befehls auswählen können, welches Regal verschoben werden soll.
Tymtam
7
Ein weiteres "erwähnenswertes": Wenn Sie Schritt 4 oben ausführen und erhalten An item with the same key has already been added, stellen Sie sicher, dass Sie zuerst die Änderungen im Quellzweig rückgängig machen . Siehe diesen Artikel Auch bestätigt, dass dies mit TFS2012
Kaveman
5
Die Eingabeaufforderung von Visual Studio war für mich nicht ausreichend. Ich musste mich tatsächlich cdin ein Arbeitsbereichsverzeichnis begeben und dann das vollständige "c:\Program Files (x86)\Microsoft Team Foundation Server 2010 Power Tools\TFPT.EXE" unshelve /migrate /source:$/blah/Trunk /target:$/blah/Branches/blahInstallationsprogramm erneut starten. Es scheint, dass ich alles in Ordnung installiert hatte.
James Skemp
3
Das funktioniert nicht mehr. TFPT.exe ist nicht mehr. Irgendeine Idee, wie man das jetzt macht?
Jordanien