Załóżmy, że jakiś programista w moim zespole odłożył zmiany, które zrobił w oddziale A. Pracuję w oddziale B. Czy mogę odrzucić jego zmiany w oddziale B? (Przez GUI lub wiersz poleceń)Czy mogę nie przyznać się do innego oddziału w tfs 2008?
Odpowiedz
Powinno Ci to umożliwić Visual Studio Power Tools.
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 scalić zestaw półek o nazwie „półek Set Name” utworzonego na Branch1 do Branch2 użyć tego:
>tfpt unshelve "Shelve Set Name";domain\userName /migrate /source:"$/Project/Branch1/" /target:"$/Project/Branch2/"
Informacje o półce obejmują określoną ścieżkę, do której się udają. Niestety nie znam żadnego automatycznego sposobu, aby nie dopuścić do żadnego innego położenia poza tym, na którym zostało odłożone. Czasy, w których chciałem to zrobić, musiałem sprawdzić równoważne pliki w nowym oddziale, odseparowane od starego oddziału, a następnie ręcznie skopiować pliki.
EDYCJA: Cóż, myślę, że robiłem to na własnej skórze. Będę musiał wypróbować rozwiązanie Curt'a. :)
rozwiązanie alternatywą dla tftp że unika konieczności połączyć każdy plik ręcznie
Problem z narzędziem zasilania tfs jest taki, że you're doing a 'baseless merge' so have to confirm every file. Miałem półki z ponad 800 plikami i nigdy nie ufałem przyciskowi "auto merge" i nie chciałem po kolei przeglądać każdego pliku - więc musiałem znaleźć inny sposób!
- Pobierz i zainstaluj TFS Shelveset Sidekick.
- Narzędzie pojawia się w „Narzędzia” w VS2010
- uruchomić narzędzie „Shelveset Sidekick” kliknij przycisk Wyszukaj, aby wyświetlić shelvesets
- Kliknij prawym przyciskiem myszy na shelveset i wybierz „wywóz Shelveset”
- Zapisz w pustym miejscu takich jak
C:\temp\shelveset-name
- teraz mieć pełną strukturę katalogów zawierający tylko nowe pliki
(Uwaga: nie ma pasek postępu przy eksporcie - więc jeśli masz dużą shelveset że zajmuje dużo ti do wyeksportowania będziesz musiał po prostu sprawdzić w Eksploratorze Windows (Plik> Właściwości> Rozmiar), że pliki wciąż spadają, jeśli uważasz, że jest zamrożony).
Teraz wystarczy skopiować je do nowego oddziału za pomocą Eksploratora Windows.
Ten pracował dla mnie:
- Sprawdzanie całe rozwiązanie pierwszy (w nowym oddziale)
- blisko, że rozwiązanie
- Take TFS w trybie offline z poziomu VS (Tool to do this) - patrz niżej dlaczego to jest ważne ...
- Skopiuj pliki w Eksploratorze Windows. Struktura katalogów w
c:\temp\shelveset-name
będzie musiała zostać zmieniona tak, aby odpowiadała nowej gałęzi. Wskazówka: Upewnij się, że skopiowałeś we właściwe miejsce !!! - Doprowadzić VS Internecie
- Należy znaleźć wszystkie zmiany i dodać nowe pliki
- Jeśli poprosi się wiązało sourcecontrol należy zweryfikować ścieżka jest poprawna dla nowego oddziału.
- Test - a następnie sprawdzał nowe pliki
Ważne: Odkryłam, że jeśli nie pierwszy wziąć TFS w trybie offline, a następnie będziesz skończyć z jakichkolwiek nowych plików (z Twojego unshelves changeset) pokazujący bez małego czerwonego znaczka wyboru, musisz je wykluczyć i dodać ponownie, aby je dodać. Jeśli ktoś ma alternatywne rozwiązanie tego problemu, chciałbym wiedzieć - odświeżenie nie działa.
Ta metoda jest łatwiejsza dla większych półek i jest tą, którą śledziłem. Dzięki! – Ani
Ta metoda jest lepsza dla większych zestawów półkowych – Aamir
Cóż, możesz uciec bez odbierania TFS w trybie offline. Ale nie jestem pewien, czy to jest tego warte. To, co zrobiłem, to uruchomić akcję Porównaj - w Eksploratorze sterowania źródłami z menu kontekstowego otwartego w odpowiednim folderze. Można filtrować dane wyjściowe, aby pokazać tylko te, które są różne. Następnie pozwala na wielokrotny wybór na nich i Sprawdź wszystkie z nich na raz. Ale myślę, że pobieranie TFS w trybie offline jest szybsze i prostsze. – mark
Demo powyższym poleceniu: Unshelve command basics
- 1. Unshelve do innego oddziału
- 2. Czy mogę zintegrować wypakowane pliki do innego oddziału na perforce
- 3. Trigger build, gdy inny zakończył się pomyślnie w TFS 2008
- 4. Tworzenie oddziału TFS Tylko do odczytu
- 5. Połączyć żądanie pobrania do innego oddziału
- 6. Kopiowanie nieśledzonego folderu do innego oddziału
- 7. TFS 2010 - linia poleceń do konwersji do oddziału
- 8. Zatwierdź jeden plik do innego oddziału
- 9. utworzyć oddział w Git z innego oddziału
- 10. Jak przekazać moje bieżące zmiany do innego oddziału w git
- 11. Skonfiguruj lokalizację serwera TFS w powertools TFS
- 12. Zdejmowanie blokady TFS innego użytkownika
- 13. TFS do konserwacji wersji
- 14. Czy istnieje sposób w VS 2010 z TFS 2008, aby sprawdzić swoje zmiany jako nowy oddział?
- 15. Jak połączyć główne zatwierdzenia z innego oddziału?
- 16. Jakie są konsekwencje zmiany nazwy oddziału w TFS 2012?
- 17. Git: skopiuj wszystkie pliki do katalogu z innego oddziału
- 18. Git: przenoszenie commitów z master do innego oddziału
- 19. Jak przyznać uprawnienia do odczytu USŁUG NETWORK
- 20. Budowanie Tfs nie powiodło się
- 21. Aktualizacja TFS 2008 do 2010 na innym serwerze
- 22. Jak wyciągnąć z innego odległego oddziału git
- 23. Git do TFS 2008 jednym ze sposobów migracji (z historii)
- 24. git stosuje zmiany od jednego zatwierdzenia do innego oddziału
- 25. Git kopiowanie zmian z jednego oddziału do innego
- 26. W lokalnym oddziale, nie chcesz zatwierdzać zmian, ale musisz przejść do innego oddziału
- 27. Git: uzyskiwanie zmian z innego oddziału
- 28. TFS Build: dołącz nazwę oddziału w polu "liczba kompilacji" zespołów
- 29. Git przekazuje zdalny punkt kontrolny do innego oddziału
- 30. Jak zresetować oddział do innego oddziału z git?
Ooohhh ... Curt, myślę, że po prostu made my day. Będę musiał spróbować tego później. – Herms
Skąd masz narzędzia elektryczne? – Guy
Tak, narzędzia elektromechaniczne POWINNY Ci to umożliwić, ale niestety połączenie idzie strasznie źle za każdym razem, więc jest obok bezużyteczne. –