Czy w tfs 2008 mogę przenieść się do innej gałęzi?
Załóżmy, że jakiś programista w moim zespole odłożył swoje zmiany, które zrobił w gałęzi A. a ja pracuję nad gałęzią B. Czy mogę odłożyć jego zmiany na gałąź B? (Przez GUI lub wiersz polecenia)
4 answers
Visual Studio Power Tools
Powinno ci na to pozwolić.
C:\src\2\Merlin\Main>tfpt unshelve /?
tfpt unshelve - Unshelve into workspace with pending changes
Allows a shelveset to be unshelved into a workspace with pending changes.
Merges content between local and shelved changes. Allows migration of shelved
changes from one branch into another by rewriting server paths.
Usage: tfpt unshelve [shelvesetname[;username]] [/nobackup]
[/migrate /source:serverpath /target:serverpath]
shelvesetname The name of the shelveset to unshelve
/nobackup Skip the creation of a backup shelveset
/migrate Rewrite the server paths of the shelved items
(for example to unshelve into another branch)
/source:serverpath Source location for path rewrite (supply with /migrate)
/target:serverpath Target location for path rewrite (supply with /migrate)
/nobackup Skip the creation of a backup shelveset
Na przykład, aby połączyć zestaw półek o nazwie "Nazwa zestawu półek" utworzony na rozgałęzieniu 1 do rozgałęzienia 2 Użyj tego:
>tfpt unshelve "Shelve Set Name";domain\userName /migrate /source:"$/Project/Branch1/" /target:"$/Project/Branch2/"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-06 14:47:57
Alternatywne rozwiązanie dla tfpt, które pozwala uniknąć konieczności ręcznego scalania KAŻDEGO pliku
Problem z elektronarzędziem tfs polega na tym, że wykonujesz "bezpodstawne scalanie", więc musisz potwierdzić każdy plik . Miałem półkę ponad 800 plików i nigdy nie ufałem przyciskowi "auto merge" i nie chciałem przeszukiwać KAŻDEGO pliku po kolei - więc musiałem znaleźć inny sposób!
- Pobierz i zainstaluj TFS Shelveset Sidekick .
- narzędzie pojawia się pod "Narzędzia" w VS2010
- uruchom narzędzie 'Shelveset Sidekick', kliknij Szukaj, aby wyświetlić shelvesets
- kliknij prawym przyciskiem myszy na zestaw regałów i wybierz "Eksportuj zestaw regałów"
- Zapisz do pustej lokalizacji, takiej jak
C:\temp\shelveset-name
- teraz mają pełną strukturę katalogów zawierającą tylko nowe pliki
(uwaga: nie ma paska postępu podczas eksportowania - więc jeśli masz duży zestaw półek, który zajmuje dużo czasu, wystarczy sprawdzić w Eksploratorze Windows (Plik > Właściwości > Rozmiar), że pliki nadal spadają, jeśli uważasz, że są zamrożone).
Teraz wystarczy skopiować je do nowej gałęzi za pomocą Eksploratora Windows.
To mi pomogło:
- sprawdzanie całego rozwiązania jako pierwsze (w nowej gałęzi)
- Zamknij To rozwiązanie
- Take TFS offline from within VS (narzędzie do tego) - zobacz poniżej, dlaczego jest to ważne...
- kopiowanie plików w Eksploratorze Windows. Na struktura katalogów w
c:\temp\shelveset-name
będzie musiała zostać zmieniona, aby odpowiadała nowej gałęzi. wskazówka: upewnij się, że kopiujesz we właściwym miejscu!!! - Bring VS online
- powinien znaleźć wszystkie zmiany i dodać nowe pliki
- jeśli poprosi Cię o bindowanie sourcecontrol, upewnij się, że ścieżka jest poprawna dla nowej gałęzi.
- Test - a następnie sprawdzenie nowych plików
Ważne: odkryłem, że jeśli najpierw nie weźmiesz TFS offline to skończysz z nowymi plikami (z zestawu zmian unshelves) wyświetlanymi bez małego czerwonego znacznika wyboru i będziesz musiał je wykluczyć i dołączyć ponownie, aby je dodać. Jeśli ktoś ma alternatywne rozwiązanie tego problemu to chętnie się dowiem-odświeżanie chyba nie działa.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-21 02:27:45
Informacje o półce zawierają konkretną ścieżkę, do której idzie. Niestety nie znam żadnego automatycznego sposobu na odstawienie półki w inne miejsce niż to, w którym była półka. Razy chciałem to zrobić, musiałem sprawdzić równoważne pliki w nowej gałęzi, odłączyć od starej gałęzi, a następnie ręcznie skopiować pliki.
EDIT: cóż, chyba robiłam to w trudny sposób. Muszę wypróbować rozwiązanie Curta. :)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 13:47:49
Spędziłem sporo czasu, aby to zrobić i miałem kilka problemów do przezwyciężenia. Jest to możliwe, ale tutaj kilka problemów i kilka zasad do przestrzegania avois te problemy
Błąd:
Nie można określić obszaru roboczego
Ten konkretny problem został rozwiązany poprzez uruchomienie polecenia z folderu głównego gałęzi Source . Jest to sprzeczne z niektórymi odpowiedziami na SO, gdzie mówią, aby użyć gałęzi" target "- Nie, użyj "source": {]}
cd [your !!source!! branch root]
tfpt unshelve /migrate /source:"$/MyCollection/Development/Maint1.1" /target:"$/MyCollection/Development/Maint1.2" "myShelveset;UserName"
Drugi numer ukazał się po to. Wygląda na to, że nie mógł połączyć się z serwerem TFS. Co zdałem sobie sprawę, mam wiele VS zainstalowane i podłączone do różnych serwerów TFS. Używałem VS12 i miałem połączenie z serwerem i przestrzenią roboczą. Ale nie zdawałem sobie sprawy, że to samo połączenie musi być replikowane w VS13 dla TFPT2013 do pracy. Łączy się z tym samym serwerem i przestrzenią roboczą.
Próbowałem również zrobić to za pomocą TFPT2015, ale zainstalowałem go i nie zainstalował TFPT.exe stąd to było bezużyteczne. Więc próbowałem z TFPT2013 do TFS2015 i to pracował dla tego konkretnego dowództwa. Zastanawiam się, dlaczego nie, jeśli VS12/13 działa dobrze przeciwko TFS2015?
Aby podsumować
- użyj CMD lub DevCMD-nie ma znaczenia
- uruchom polecenie z source Branch root folder
- zweryfikuj połączenie serwera Team Explorer dla konkretnego VS
- TF Power Tools 2013 działa przeciwko TFS v15, co najmniej migrate opcja działa
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-09 19:07:36