Použití příkazů správy verzí Team Foundation

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Pomocí příkazů správy verzí můžete provádět téměř všechny úlohy Správa verzí Team Foundation (TFVC), které můžete provádět v sadě Visual Studio. Příkazy správy verzí můžete použít také k provedení několika úloh, které se nedají udělat v sadě Visual Studio. Pokud chcete spouštět příkazy správy verzí z příkazového řádku nebo ve skriptu, použijte nástroj tf.exe .

Spuštění příkazu

Pokud chcete spustit příkazový řádek sady Visual Studio, v nabídce Windows Start vyberte zástupce vývojářského příkazového řádku pro VS2022 nebo starší verzi.

Poznámka:

V případě sady Visual Studio 2019 a novějších verzí tf.exe už binární soubor není v pevném umístění instalační cesty sady Visual Studio jako v některých předchozích verzích, C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDEnapříklad . Pokud váš skript používá tf.exe, nezakódujte cestu k souboru na základě instalační cesty sady Visual Studio.

Ve většině případů spustíte příkaz správy verzí v kontextu adresáře, který je namapovaný v pracovním prostoru. Například $/SiteApp/Main/ je namapován na c:\\code\\SiteApp\\Main\\. Pokud chcete získat nejnovější verzi všech položek v pracovním prostoru, použijte následující příkaz:

c:\code\SiteApp\Main\SolutionA>tf get

Nastavení vývojového počítače a správa pracovních prostorů

Váš pracovní prostor je místní kopie základu kódu vašeho týmu. Vzhledem k tomu, že se jedná o místní kopii na vývojovém počítači, můžete vyvíjet a testovat kód izolovaně, dokud nebudete připraveni se vrátit se změnami. Tady je několik příkazů pro správu pracovního prostoru:

Další informace naleznete v následujících zdrojích:

Vývoj aplikací

Pomocí těchto příkazů můžete aplikaci vyvíjet ve správě verzí s týmem:

Další informace najdete v tématu Vývoj aplikace ve správě verzí Team Foundation.

Pozastavení práce

Z různých důvodů je někdy potřeba některé nebo všechny probíhající práce vyhradit. Pokud chcete pozastavit a pokračovat v práci a spravovat sady odložených dat, použijte tyto příkazy:

Další informace najdete v tématu Pozastavení práce a správa sad odložených informací.

Přispívání do práce

checkin Pomocí příkazu zkontrolujte kód do základu kódu týmu:

  • Příkaz Vrácení se změnami: Kontroluje čekající změny souborů nebo složek na serveru.

Další informace najdete v tématu Vrácení práce do základu kódu týmu.

Správa souborů a řešení problémů

Ke správě souborů použijte prostředky v následujících částech.

Zobrazení a správa souborů a složek správy verzí

Další informace najdete v tématu Použití Průzkumníka správy zdrojového kódu ke správě souborů v rámci správy verzí.

Zobrazení a správa předchozích verzí

Další informace najdete v tématu Zobrazení a správa předchozích verzí.

Porovnání složek a souborů

  • Příkaz Rozdíl: Porovnává rozdíly mezi soubory a sadami odložených změn.
  • Příkaz Folderdiff: Porovnává rozdíly mezi soubory ve dvou složkách.

Další informace najdete v tématu Zobrazení a správa předchozích verzí.

Řešení konfliktů souborů

  • Příkaz Vyřešit: Vyřeší konflikty mezi položkami v pracovním prostoru a na serveru.

Další informace najdete v tématu Řešení konfliktů Správa verzí Team Foundation.

Práce s zámky správy verzí

  • Příkaz Zamknout: Uzamkne nebo odemkne soubory a složky.

Další informace naleznete v tématu Práce s zámky správy verzí.

Izolace rizika

Pomocí následujících příkazů můžete riziko izolovat pomocí větví:

Další informace najdete v tématu Použití větví k izolaci rizika v Správa verzí Team Foundation.

správa verzí Správa ister

Ke správě systému správy verzí použijte následující příkazy:

Další informace najdete v tématu Konfigurace nastavení rezervace.

Získání nápovědy k příkazům správy verzí

Podrobné informace o příkazech správy verzí získáte pomocí následujících příkazů:

Principy syntaxe příkazů

Syntaxe každého příkazu se zobrazí v horní části každého referenčního článku.

Povinné a volitelné argumenty

Argumenty bez závorek jsou povinné. [Hranaté závorky] označuje volitelné argumenty, které nejsou nutné k dokončení příkazu. Některé volitelné argumenty ale mají výchozí hodnoty použité u příkazu, i když tuto možnost nezadáte.

Exkluzivní argumenty

Pokud jsou možnosti oddělené svislou rourou (|), můžete zadat jednu z možností.

Doslovné a nahraditelné argumenty

Položky, které nejsou uzavřené v hranatých závorkách, jsou možnosti, které zahrnete doslovně. Položky uzavřené v hranatých závorkách (< a >) jsou argumenty, které je nutné nahradit skutečnými znaky, aby bylo možné provést příkaz.

Klávesové zkratky a aliasy příkazů

Některé příkazy podporují klávesové zkratky. Můžete například volat příkaz Delete pomocí příkazu nebo tf delete tf del.

Příklad

Představte si například příkaz Pokladna:

tf checkout [/lock:( none|checkin|checkout)] [/recursive] <item-spec> [/login: <username>, [<password>]]

Tento příklad obsahuje následující argumenty:

  • <item-spec>: Tento argument musíte nahradit specifikací položky, která identifikuje položky, které si právě probíháte.
  • Následující argumenty jsou volitelné. Pokud je nezadáte, žádný z jejich efektů se nevztahuje na příkaz:
    • /lock:(none|checkin|checkout): Pokud tuto možnost nezadáte /lock , použije systém /lock:none ve výchozím nastavení. V opačném případě můžete zadat jednu z dalších možností uzamčení.
    • /recursive: Pokud chcete rekurzivně rezervovat více položek ve složce, musíte zadat doslovné doslovné zadání této možnosti.
    • /login:<username>, <password>: Pokud chcete příkaz spustit jako jiný uživatel, musíte zadat /login doslovné znění možnosti a nahradit <username> názvem uživatele. V případě potřeby nahraďte <password> heslem uživatele.

Zadání položek ovlivněných příkazem

Specifikace položek a specifikace verzí můžete použít k určení položek, které jsou ovlivněny příkazem.

Určení ovlivněných položek pomocí argumentu specifikace položky

Specifikace položky slouží k určení položek ovlivněných příkazem. Položky můžete zadat na klientském počítači nebo na serveru Azure DevOps. Můžete použít zástupné znaky, například * a ?.

Argumenty specifikace položky klienta

Argument specifikace položky klienta určuje cestu k položkám na klientském počítači, například:

  • Složka, například c:\code\SiteApp\Main\SolutionA\.
  • Soubor, například c:\code\SiteApp\Main\SolutionA\Project1\program.cs.
  • Například c:\code\SiteApp\Main\SolutionA\*.cs.
  • Cesta UNC (Universal Naming Convention), například \\myshare\code\SiteApp\Main.

Argumenty specifikace položky serveru

Argument specifikace položky serveru určuje cestu k položkám na serveru Azure DevOps, například:

  • Složka, například $/SiteApp/Main/SolutionA.
  • Soubor, například $/SiteApp/Main/SolutionA/Project1/program.cs.
  • Více souborů, například $/SiteApp/Main/SolutionA/*.cs.

Argumenty specifikace položky serveru obvykle používáte, když potřebujete spustit příkaz u položek, které nejsou na klientském počítači. Řekněme například, že pracujete na vývojovém počítači. Pokud potřebujete získat nějaká data historie revizí o některých položkách, které jsou v kolekci projektů, ve které nefungujete, můžete použít následující příkaz:

c:\>tf history /collection:https://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive  
/noprompt 

Argumenty specifikace více položek

U některých příkazů můžete zadat více argumentů specifikace položek, například:

c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c

Tento příkaz zkontroluje program.cs a program2.c.

Určení ovlivněných verzí položek pomocí argumentu specifikace verze

Specifikace verze slouží k určení verze položek ovlivněných příkazem. Pokud chcete zadat specifikaci verze, můžete:

  • Použijte například /version možnost /version:C44.

  • Připojte specifikaci verze k specifikaci položky středníkem, program1.cs;C44například .

Když použijete příkaz Historie nebo příkaz Rozdíl, můžete určit rozsah verzí oddělením verzí vlnovkou, například:

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2022~D4/24/2022

K určení specifikace verze použijte následující syntaxi:

Typ Syntaxe Popis Příklady Výsledek
Changeset [C]<version-number> Určuje položky na základě čísla sady změn. Pokud v zadané sadě změn nebyla změněna položka, která je v oboru, systém převezme nejnovější verzi položky, ke které došlo před zadanou sadou změn. Pokud zadáte jenom číslo, můžete vynechat C . tf get readme.txt /v:C8

tf get readme.txt /v:8

tf get readme.txt;8
Pokud readme.txt byl změněn v sadě změn 8, ukázkový kód získá danou verzi souboru. Jinak získá nejnovější verzi readme.txt před verzí 8.
Popisek L<label> Určuje položky, na které se popisek použije. tf get readme.txt;LJulyHotFix

tf get /version:LLastKnownGood
První příklad získá verzi readme.txt , která byla označena julyHotFix. Druhý načte verzi všech označených položek (a odstraní tyto položky, které nejsou označené) v pracovním prostoru, protože existovaly při vytvoření sady změn s názvem LastKnownGood . Kód v druhém příkladu můžete použít jako součást automatizovaného procesu sestavení.
Datum a čas D<yyyy-mm-ddTxx:xx>

nebo

D<mm/dd/yyyy>

nebo

Libovolný formát podporovaný rozhraním .NET Framework.

nebo

Libovolný z formátů kalendářních dat podporovaných na místním počítači
Určuje sadu změn, která byla vytvořena v zadaném datu v určitém čase. tf get /version:D2022-03-22

tf get /version:D2022-03-22T09:00
První příklad aktualizuje pracovní prostor tak, aby odpovídal základu kódu, protože existoval 22. března 2022 o půlnoci. Druhý aktualizuje pracovní prostor tak, aby odpovídal základu kódu, který existoval 22. března 2022 v 9:00. Další informace o formátech data a času podporovaných rozhraním .NET Framework naleznete v tématu Řetězce formátu data a času Standard.
Aktuální pracovní prostor W Určuje verzi v pracovním prostoru. - -
Zadaný pracovní prostor W<workspace-name>; <workspace-owner> Určuje verzi v zadaném pracovním prostoru. tf get /version:WResolveRIConflicts;PatW Příklad určuje verzi v ResolveRIConflicts pracovním prostoru, který PatW vlastní.
Tip T Určuje nejnovější verzi. - -

Použití možností ke změně způsobu fungování příkazu

Pomocí některých běžných možností můžete upravit způsob fungování příkazu.

/noprompt Použití možnosti k potlačení požadavků na vstup dat a přesměrování výstupních dat

/noprompt Pomocí možnosti potlačit požadavky na vstup dat a přesměrovat výstupní data do okna příkazového řádku. Tato možnost může být užitečná, když potřebujete použít příkazy pro správu verzí ve skriptu, kde:

  • Příkaz pokračuje bez zásahu uživatelem.
  • Data jsou k dispozici pro skript k provádění operací, jako je analýza nebo zachytávání.

Když použijete tuto možnost, systém:

  • Potlačí všechny požadavky na vstup:

    • V okně příkazového řádku nejsou kladeny otázky. Když například použijete příkaz Zpět s touto možností, systém nezobrazí výzvu k potvrzení, zda chcete vrátit změny zpět.
    • Okna a dialogová okna se nezobrazují. Tuto možnost můžete použít například pomocí příkazu Checkin. Systém nezobrazuje dialogové okno Vrátit se změnami, abyste potvrdili položky a přidružené pracovní položky. Místo toho systém kontroluje položky bez potvrzení.
  • Přesměruje výstupní data na příkazový řádek. Tuto možnost můžete použít například s příkazem Historie. Data se zobrazí v okně příkazového řádku místo okna Historie.

/login Použití možnosti k zadání přihlašovacích údajů

/login Pomocí možnosti zadejte uživatelský účet serveru Azure DevOps, ve kterém se má spustit příkaz. Tato možnost může být užitečná, když pracujete na počítači jiného člena týmu.

Řekněme například, že pracujete na vývojovém počítači člena týmu. Pomocí příkazu Lock odemknete soubor, který jste předtím zamkli:

c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>,<password>

Pokud se chcete vyhnout zobrazení hesla na příkazovém řádku, můžete příkaz zadat bez hesla:

c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>

Po zadání tohoto příkazu vás systém vyzve k zadání hesla v dialogovém okně, které zamaskuje váš vstup.

/lock Použití nebo odebrání zámku

Důležité

Osvědčeným postupem je použít /lock možnost s uvážením. Informujte členy týmu, proč zamknete položku a kdy chcete zámek odebrat.

/lock Pomocí této možnosti můžete použít nebo odebrat zámek ve stejnou dobu, kdy spustíte jiný příkaz, například Přidat nebo Upravit.

/lock:(none|checkin|checkout)

Příkaz /lock používá následující možnosti:

  • None: Na položku není umístěn žádný zámek. Pokud už je zámek na místě, odebere se.

  • Checkin nebo Checkout: Je použit zámek. Další informace najdete v tématu Vysvětlení typů zámků.

Poznámka:

V několika případech může operace uzamčení selhat:

  • Pokud některý z dalších uživatelů zamkl některou ze zadaných položek, operace uzamčení selže.
  • Pokud už existuje čekající změna zadané položky, systém tento přepínač ignoruje. V takovém případě je nutné pomocí příkazu Lock změnit zámek položky.

Použití klávesových zkratek možností

Můžete zkrátit následující možnosti.

Možnost

Alias možnosti

/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

Vysvětlení ukončovací kódy

Příkazy správy verzí vrací následující ukončovací kódy:

Ukončovací kód

Definice

0

Úspěch

1

Částečný úspěch. Alespoň něco, nebo možná všechno, se nepovedlo úspěšně.

2

Nerozpoznaný příkaz

100

Nic se nepovedlo.

Řekněme například, že spustíte následující příkaz:

c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c

Pokud některý ze souborů, které se pokoušíte rezervovat, na serveru neexistuje, příkaz vrátí hodnotu 1 , která značí částečný úspěch.