Używanie poleceń kontroli wersji programu Team Foundation
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Polecenia kontroli wersji umożliwiają wykonywanie niemal wszystkich zadań kontroli wersji programu Team Foundation (TFVC), które można wykonać w programie Visual Studio. Możesz również użyć poleceń kontroli wersji, aby wykonać kilka zadań, których nie można wykonać w programie Visual Studio. Aby uruchomić polecenia kontroli wersji z wiersza polecenia lub w skrypcie, należy użyć narzędzia tf.exe
.
Uruchamianie polecenia
Aby uruchomić wiersz polecenia programu Visual Studio, w menu Windows Startwybierz skrót Developer Command Prompt for VS2022 lub jego wcześniejszą wersję.
Uwaga
W przypadku programu Visual Studio 2019 i nowszych wersji plik binarny tf.exe
nie znajduje się już w stałej lokalizacji w ścieżce instalacji programu Visual Studio, tak jak w niektórych poprzednich wersjach, na przykład C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE
. Jeśli skrypt używa tf.exe
, nie należy kodować ścieżki do pliku na podstawie ścieżki instalacji programu Visual Studio.
W większości przypadków uruchamiasz polecenie kontroli wersji w kontekście katalogu mapowanego w obszarze roboczym. Na przykład $/SiteApp/Main/
jest mapowany na c:\\code\\SiteApp\\Main\\
. Aby uzyskać najnowszą wersję wszystkich elementów w obszarze roboczym, użyj następującego polecenia:
c:\code\SiteApp\Main\SolutionA>tf get
Skonfiguruj swoją maszynę do tworzenia i zarządzaj obszarami roboczymi
Obszar roboczy to lokalna kopia bazy kodu twojego zespołu. Ponieważ jest to lokalna kopia na maszynie deweloperskiej, możesz tworzyć i testować kod w izolacji, aż będziesz gotowy do zatwierdzenia swojej pracy. Oto kilka poleceń do zarządzania obszarem roboczym:
Aby uzyskać więcej informacji, zobacz następujące zasoby:
- Konfigurowanie kontroli wersji programu Team Foundation na maszynie dewelopera
- Tworzenie i praca z obszarami roboczymi
Opracowywanie aplikacji
Użyj tych poleceń, aby opracować aplikację pod kontrolą wersji z zespołem:
- Dodaj polecenie: dodaje pliki i foldery do kontroli wersji.
- Wyewidencjonuj (lub Edytuj) polecenie: wyewidencjonuje plik i zmienia stan oczekującej zmiany, aby edytować.
- Usuń polecenie (Kontrola wersji programu Team Foundation): usuwa pliki i foldery z serwera Usługi Azure DevOps i usuwa je z dysku.
- Pobierz polecenie: pobiera (pobiera) najnowszą wersję lub określoną wersję co najmniej jednego pliku lub folderów z usługi Azure DevOps Server do obszaru roboczego.
- zmień nazwę polecenia (Kontrola wersji programu Team Foundation): zmienia nazwę lub ścieżkę pliku lub folderu.
- Polecenie statusu: wyświetla informacje o oczekujących zmianach plików i folderów w obszarach roboczych lub w zestawie półek.
- cofnij polecenie: odrzuca określone oczekujące zmiany w plikach lub folderach.
- cofnij usunięcie polecenia: przywraca elementy, które zostały wcześniej usunięte.
Aby uzyskać więcej informacji, zobacz Develop your app in Team Foundation version control (Opracowywanie aplikacji w kontroli wersji w programie Team Foundation).
Wstrzymywanie pracy
Z różnych powodów czasami trzeba odłożyć niektóre lub wszystkie prace w toku. Aby wstrzymać i wznowić pracę oraz zarządzać zestawami półek, użyj następujących poleceń:
Aby uzyskać więcej informacji, zobacz Wstrzymaj pracę i zarządzaj zestawami półek.
Przyczyń się swoją pracą
Użyj polecenia checkin
, aby dodać kod do repozytorium zespołu.
- polecenie Checkin: sprawdza oczekujące zmiany plików lub folderów na serwerze.
Aby uzyskać więcej informacji, zobacz Zaewidencjonuj swoją pracę w bazie kodu zespołu.
Zarządzanie plikami i rozwiązywanie problemów
Użyj zasobów w poniższych sekcjach, aby zarządzać plikami.
Wyświetlanie plików i folderów kontroli wersji oraz zarządzanie nimi
- polecenie właściwości (lub informacje): wyświetla informacje o elementach w kontroli wersji.
- polecenie dir: wyświetla zawartość serwera kontroli wersji.
- Destroy polecenie (Team Foundation Version Control): trwale usuwa pliki kontrolowane wersją.
- polecenie LocalVersions: Wyświetla wersje elementów obszaru roboczego.
Aby uzyskać więcej informacji, zobacz Use Source Control Explorer to manage files under version control (Zarządzanie plikami w ramach kontroli wersji).
Wyświetlanie poprzednich wersji i zarządzanie nimi
- polecenie zestawu zmian: zmienia lub wyświetla atrybuty zestawu zmian.
- Polecenie historii: Wyświetla historię rewizji plików lub folderów.
- Polecenie etykietowania (Team Foundation Version Control): Dołącza lub usuwa etykiety z plików lub folderów.
- Etykiety polecenie: wyświetla informacje o etykietach używanych na serwerze.
- polecenie wycofywania (Kontrola wersji programu Team Foundation): cofa efekty zmian.
- polecenie Unlabel: usuwa element z istniejącej etykiety na serwerze.
- Wyświetl polecenie: pobiera określoną wersję pliku i wyświetla go.
Aby uzyskać więcej informacji, zobacz Wyświetlaj i zarządzaj wcześniejszymi wersjami.
Porównywanie folderów i plików
- polecenie 'Różnica': porównuje różnice między plikami i zestawami półek (shelvesetami).
- folderdiff polecenie: porównuje różnice między plikami w dwóch folderach.
Aby uzyskać więcej informacji, zobacz Wyświetlaj i zarządzaj wcześniejszymi wersjami.
Rozwiązywanie konfliktów plików
- Rozwiąż polecenie: rozwiązuje konflikty między elementami w obszarze roboczym i na serwerze.
Aby uzyskać więcej informacji, zobacz Rozwiązywanie konfliktów kontroli wersji programu Team Foundation.
Praca z blokadami kontroli wersji
- Zablokuj polecenie: blokuje lub odblokuje pliki i foldery.
Aby uzyskać więcej informacji, zobacz Praca z blokadami kontroli wersji.
Izolowanie ryzyka
Użyj następujących poleceń, aby odizolować ryzyko przy użyciu gałęzi:
- Branch polecenia
- polecenia Branches
- Polecenie Scalania
- polecenie scalania
Aby uzyskać więcej informacji, zobacz Używanie gałęzi do izolowania ryzyka w programie Team Foundation Version Control.
Administrowanie kontrolą wersji
Aby zarządzać systemem kontroli wersji, użyj następujących poleceń:
Aby uzyskać więcej informacji, zapoznaj się z ustawieniami realizacji zamówienia.
Uzyskiwanie pomocy dotyczącej poleceń kontroli wersji
Użyj następujących poleceń, aby uzyskać szczegółowe informacje o poleceniach kontroli wersji:
Omówienie składni poleceń
Składnia każdego polecenia jest wyświetlana w górnej części każdego artykułu referencyjnego.
Argumenty wymagane i opcjonalne
Argumenty bez nawiasów są wymagane. [Nawiasy] wskazują opcjonalne argumenty, które nie są wymagane do wykonania polecenia. Jednak niektóre opcjonalne argumenty mają wartości domyślne, które są stosowane do polecenia, nawet jeśli nie określisz opcji.
Argumenty wykluczające
Gdy opcje są oddzielone kreską pionową (|), można określić jedną z opcji.
Argumenty dosłowne i zamienialne
Elementy, które nie są ujęte w nawiasach, to opcje, które zawierasz dosłownie. Elementy ujęte w nawiasy kątowe (< i >) to argumenty, które należy zastąpić rzeczywistymi znakami, aby wykonać polecenie.
Skróty poleceń i aliasy
Niektóre polecenia obsługują skróty. Można na przykład wywołać polecenie Delete za pomocą tf delete
lub tf del
.
Przykład
Rozważmy na przykład polecenie Checkout:
tf checkout [/lock:( none|checkin|checkout)] [/recursive] <item-spec> [/login: <username>, [<password>]]
W tym przykładzie przedstawiono następujące argumenty:
-
<item-spec>
: Należy zastąpić ten argument specyfikacją elementu , która identyfikuje elementy, które wyewidencjonowujesz. - Następujące argumenty są opcjonalne. Jeśli ich nie podasz, żaden z ich efektów nie ma zastosowania do polecenia :
-
/lock:(none|checkin|checkout)
: jeśli nie określisz opcji/lock
, system domyślnie używa/lock:none
. W przeciwnym razie można określić jedną z pozostałych opcji blokady. -
/recursive
: jeśli chcesz rekursywnie wyewidencjonować wiele elementów w folderze, musisz określić tę opcję dosłowną. -
/login:<username>, <password>
: Jeśli chcesz uruchomić polecenie jako inny użytkownik, musisz dokładnie określić opcję/login
i zastąpić<username>
nazwą użytkownika. W razie potrzeby zastąp<password>
hasłem użytkownika.
-
Określanie elementów, których dotyczy polecenie
Możesz użyć specyfikacji elementów i specyfikacji wersji, aby określić, które elementy mają wpływ na polecenie.
Użyj argumentu specyfikacji elementu, aby określić elementy, których dotyczy problem
Specyfikacja elementu służy do określania elementów, na które ma wpływ polecenie. Elementy można określić na komputerze klienckim lub na serwerze usługi Azure DevOps. Można użyć symboli wieloznacznych, takich jak *, , czy.
Argumenty specyfikacji elementu klienta
Argument specyfikacji elementu klienta określa ścieżkę do elementów na maszynie klienckiej, na przykład:
- Na przykład folder c:\code\SiteApp\Main\SolutionA\.
- Na przykład plik c:\code\SiteApp\Main\SolutionA\Project1\program.cs.
- Na przykład wiele plików c:\code\SiteApp\Main\SolutionA\*.cs.
- Ścieżka uniwersalnej konwencji nazewnictwa (UNC), taka jak \\myshare\code\SiteApp\Main.
Argumenty specyfikacji elementu serwera
Argument specyfikacji elementu serwera określa ścieżkę do elementów na serwerze usługi Azure DevOps, na przykład:
- Na przykład folder $/SiteApp/Main/SolutionA.
- Na przykład plik $/SiteApp/Main/SolutionA/Project1/program.cs.
- Wiele plików, na przykład $/SiteApp/Main/SolutionA/*.cs.
Zazwyczaj używasz argumentów specyfikacji elementu serwera, gdy trzeba uruchomić polecenie na elementach, które nie znajdują się na maszynie klienckiej. Załóżmy na przykład, że pracujesz na maszynie deweloperskiej. Jeśli musisz uzyskać dane historii poprawek dotyczące niektórych elementów znajdujących się w kolekcji projektów, w której nie pracujesz, możesz użyć następującego polecenia:
c:\>tf history /collection:https://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive
/noprompt
Argumenty specyfikacji wielu elementów
W przypadku niektórych poleceń można określić wiele argumentów specyfikacji elementu, na przykład:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
To polecenie sprawdza program.cs i program2.c.
Użyj argumentu specyfikacji wersji, aby określić wersje elementów, których dotyczy problem
Używasz specyfikacji wersji, aby określić wersję elementów, na które ma wpływ polecenie. Aby podać specyfikację wersji, możesz:
Użyj opcji
/version
, na przykład/version:C44
.Dołącz specyfikację wersji do specyfikacji elementu za pomocą średnika, na przykład
program1.cs;C44
.
Używając polecenia Historia lub polecenia Różnica, można określić zakres wersji, oddzielając wersje znakiem tyldy, na przykład:
c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2022~D4/24/2022
Użyj następującej składni, aby określić specyfikację wersji:
Typ | Składnia | Opis | Przykłady | Wynik |
---|---|---|---|---|
Zestaw zmian | [C]<version-number> |
Określa elementy na podstawie numeru zestawu zmian. Jeśli element w zakresie nie został zmodyfikowany w określonym zestawie zmian, system przyjmuje najnowszą wersję elementu, który wystąpił przed określonym zestawem zmian. Jeśli określisz tylko liczbę, możesz pominąć C . |
tf get readme.txt /v:C8 tf get readme.txt /v:8 tf get readme.txt;8 |
Jeśli readme.txt zostały zmodyfikowane w zestawie zmian 8, przykładowy kod uzyskuje tę wersję pliku. W przeciwnym razie pobiera najnowszą wersję readme.txt przed wersją 8. |
Etykieta | L<label> |
Określa elementy, do których jest stosowana etykieta. | tf get readme.txt;LJulyHotFix tf get /version:LLastKnownGood |
Pierwszy przykład pobiera wersję readme.txt, oznaczoną jako JulyHotFix. Drugi pobiera wersję wszystkich oznaczonych etykietami elementów (i usuwa te elementy, które nie są oznaczone etykietą) w obszarze roboczym, ponieważ istniały, gdy zestaw zmian oznaczony LastKnownGood został utworzony. Możesz użyć kodu w drugim przykładzie jako część zautomatyzowanego procesu kompilacji. |
Data i godzina | D<yyyy-mm-ddTxx:xx> lub D<mm/dd/yyyy> lub Dowolny format obsługiwany przez program .NET Framework. lub Dowolny z formatów dat obsługiwanych na komputerze lokalnym. |
Określa zestaw zmian, który został utworzony w określonej dacie w określonym czasie. | tf get /version:D2022-03-22 tf get /version:D2022-03-22T09:00 |
Pierwszy przykład aktualizuje obszar roboczy tak, aby był zgodny z bazą kodu, jak istniał 22 marca 2022 r. o północy. Druga aktualizacja obszaru roboczego dopasowuje go do stanu bazy kodu z dnia 22 marca 2022 r. o godzinie 9:00. Aby uzyskać więcej informacji na temat formatów daty i godziny obsługiwanych przez program .NET Framework, zobacz DateTime i standardowe ciągi formatu daty i godziny. |
Bieżący obszar roboczy | W |
Określa wersję w obszarze roboczym. | - | - |
Określony obszar roboczy | W<workspace-name>; <workspace-owner> |
Określa wersję w określonym obszarze roboczym. | tf get /version:WResolveRIConflicts;PatW |
W przykładzie określono wersję w obszarze roboczym ResolveRIConflicts , którego właścicielem jest PatW . |
Wskazówka | T |
Określa najnowszą wersję. | - | - |
Używanie opcji do modyfikowania sposobu działania polecenia
Możesz użyć niektórych typowych opcji, aby zmodyfikować sposób działania polecenia.
Użyj opcji /noprompt
, aby pominąć żądania danych wejściowych i przekierować dane wyjściowe
Użyj opcji /noprompt
, aby pominąć żądania dotyczące danych wejściowych i przekierować dane wyjściowe do okna wiersza polecenia. Ta opcja może być przydatna, gdy musisz użyć poleceń kontroli wersji w skrycie, w którym:
- Polecenie jest kontynuowane bez interwencji użytkownika.
- Dane są dostępne dla skryptu do wykonywania operacji, takich jak analizowanie lub przechwytywanie.
W przypadku korzystania z tej opcji system:
Pomija wszystkie żądania dotyczące danych wejściowych:
- Pytania nie są zadawane w oknie wiersza polecenia. Jeśli na przykład używasz polecenia Cofnij z tą opcją, system nie wyświetla monitu o potwierdzenie, czy chcesz cofnąć zmiany.
- Okna i okna dialogowe nie są wyświetlane. Można na przykład użyć tej opcji za pomocą polecenia Checkin. System nie wyświetla okna dialogowego zaewidencjonowania w celu potwierdzenia elementów i skojarzonych elementów roboczych. Zamiast tego system sprawdza elementy bez potwierdzenia.
Przekierowuje dane wyjściowe do wiersza polecenia. Można na przykład użyć tej opcji za pomocą polecenia historia . Dane są wyświetlane w oknie wiersza polecenia zamiast w oknie historii .
Użyj opcji /login
, aby wskazać poświadczenia
Użyj opcji /login
, aby określić konto użytkownika serwera usługi Azure DevOps w celu uruchomienia polecenia . Ta opcja może być przydatna podczas pracy na maszynie innego członka zespołu.
Załóżmy na przykład, że pracujesz na komputerze deweloperskim członka zespołu. Aby odblokować plik, który zablokowałeś wcześniej, użyj polecenia Lock.
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>,<password>
Jeśli chcesz uniknąć wyświetlania hasła w wierszu polecenia, możesz wprowadzić polecenie bez hasła:
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>
Po wprowadzeniu tego polecenia system wyświetli monit o wprowadzenie hasła w oknie dialogowym, które maskuje dane wejściowe.
Użyj opcji /lock
, aby zastosować lub usunąć blokadę
Ważne
Najlepszym rozwiązaniem jest użycie opcji /lock
według uznania. Poinformuj kolegów z zespołu, dlaczego blokujesz element i kiedy planujesz usunąć blokadę.
Użyj opcji /lock
, aby zastosować lub usunąć blokadę jednocześnie z uruchomieniem innego polecenia, takiego jak Dodaj lub Edytuj.
/lock:(none|checkin|checkout)
Polecenie /lock
używa następujących opcji:
None
: na elemencie nie jest umieszczana blokada. Jeśli blokada jest już na miejscu, zostanie usunięta.Checkin
lubCheckout
: zastosowano blokadę. Aby uzyskać więcej informacji, zobacz Omówienie typów blokad.
Uwaga
W kilku przypadkach operacja blokowania może zakończyć się niepowodzeniem:
- Jeśli inni użytkownicy zablokowali dowolny z określonych elementów, operacja blokowania zakończy się niepowodzeniem.
- Jeśli istnieje już oczekująca zmiana określonego elementu, system ignoruje ten przełącznik. W takim przypadku należy użyć polecenia Lock, aby zmienić blokadę elementu.
Używanie skrótów opcji
Można skrócić następujące opcje.
Opcja
Alias opcji
/comment
-C
/computer
-M
/delete
-D
/force
-P
/format
-F
/help
-?, -H
/lock
-K
/login
-Y
/newname
-N
/noprompt
-I
/owner
-O
/recursive
-R
/server
-S
/slotmode
-X
/template
-T
/user
-U
/version
-V
/workspace
-W
Zrozumienie kodów zakończenia
Polecenia kontroli wersji zwracają następujące kody zakończenia:
kod zakończenia
Definicja
0
Sukces.
1
Powodzenie częściowe. Przynajmniej coś, lub ewentualnie wszystko, nie powiodło się.
2
Nierozpoznane polecenie.
100
Nic się nie powiodło.
Załóżmy na przykład, że uruchamiasz następujące polecenie:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
Jeśli jeden z plików, które próbujesz wyewidencjonować, nie istnieje na serwerze, polecenie zwraca 1, aby wskazać częściowy sukces.