Udostępnij za pośrednictwem


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:

Opracowywanie aplikacji

Użyj tych poleceń, aby opracować aplikację pod kontrolą wersji z zespołem:

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.

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

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

Aby uzyskać więcej informacji, zobacz Wyświetlaj i zarządzaj wcześniejszymi wersjami.

Porównywanie folderów i plików

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

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:

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 lub Checkout: 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.