Share via


A Team Foundation verziókövetési parancsai

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

Visual Studio 2019 | Visual Studio 2022

A verziókövetési parancsokkal szinte minden, a Visual Studióban elvégezhető Team Foundation verziókövetési (TFVC) feladatot elvégezhet. A verziókövetési parancsokkal több olyan feladatot is elvégezhet, amelyet a Visual Studióban nem lehet elvégezni. A verziókövetési parancsok parancssorból vagy parancsfájlon belüli futtatásához használja az tf.exe eszközt.

Parancs futtatása

A Visual Studio parancssorának elindításához a Windows Startban válassza a VS2022 vagy korábbi verzióra vonatkozó fejlesztői parancssort.

Feljegyzés

A Visual Studio 2019-es és újabb verziói esetében a tf.exe bináris fájl már nem rögzített helyen található a Visual Studio telepítési útvonalán, mint például C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDEnéhány korábbi kiadásban. Ha a szkript használja tf.exe, ne kódozza be a fájl elérési útját a Visual Studio telepítési útvonala alapján.

A legtöbb esetben a verziókövetési parancsot a munkaterületen leképezett könyvtár környezetében futtatja. A rendszer például $/SiteApp/Main/ a következőre van megfeleltetve c:\\code\\SiteApp\\Main\\: . A munkaterület összes elemének legújabb verziójának lekéréséhez használja a következő parancsot:

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

Fejlesztői gép beállítása és munkaterületek kezelése

A munkaterület a csapat kódbázisának helyi másolata. Mivel ez egy helyi példány a fejlesztői gépen, a kódot elkülönítve fejlesztheti és tesztelheti, amíg készen nem áll a munka beadására. Az alábbiakban néhány parancsot talál a munkaterület kezeléséhez:

További információkat találhat az alábbi forrásokban:

Alkalmazások fejlesztése

Az alábbi parancsokkal fejlesztheti az alkalmazást verziókövetés alatt a csapatával:

  • Parancs hozzáadása: Fájlok és mappák hozzáadása a verziókövetéshez.
  • Kivétel (vagy Szerkesztés) parancs: Kivesz egy fájlt, és módosítja a függőben lévő módosítási állapotát szerkesztésre.
  • Delete command (Team Foundation Version Control): Eltávolítja a fájlokat és mappákat az Azure DevOps-kiszolgálóról, és törli őket a lemezről.
  • Parancs lekérése: Lekéri (letölti) egy vagy több fájl vagy mappa legújabb vagy megadott verzióját az Azure DevOps Serverről a munkaterületre.
  • Átnevezés parancs (Team Foundation verziókövetés): Módosítja egy fájl vagy mappa nevét vagy elérési útját.
  • Állapotparancs: Megjeleníti a munkaterületeken vagy egy polckészleten lévő fájlok és mappák függőben lévő módosításaival kapcsolatos információkat.
  • Visszavonás parancs: A megadott függőben lévő fájlok vagy mappák módosításainak elvetése.
  • Törlési parancs: Visszaállítja a korábban törölt elemeket.

További információ: Alkalmazás fejlesztése a Team Foundation verziókövetésében.

A munka felfüggesztése

Különböző okokból néha félre kell tenni néhány vagy az összes folyamatban lévő munkát. A munka felfüggesztéséhez és folytatásához, valamint a polckészletek kezeléséhez használja az alábbi parancsokat:

További információ: A munka felfüggesztése és a polckészletek kezelése.

Közreműködés a munkában

checkin A parancs használatával ellenőrizze a kódot a csapat kódbázisában:

  • Checkin parancs: A kiszolgálón lévő fájlok vagy mappák függőben lévő módosításainak beadása.

További információ: A csapat kódbázisának beadása a munkájában.

Fájlok kezelése és problémák megoldása

A fájlok kezeléséhez használja a következő szakaszokban található erőforrásokat.

Verziókövetési fájlok és mappák megtekintése és kezelése

További információ: A verziókövetés alatt lévő fájlok kezelése a Forrásvezérlővel.

Korábbi verziók megtekintése és kezelése

További információ: Korábbi verziók megtekintése és kezelése.

Mappák és fájlok összehasonlítása

  • Különbség parancs: Összehasonlítja a fájlok és a polckészletek közötti különbségeket.
  • Folderdiff parancs: Két mappában lévő fájlok közötti különbségeket hasonlítja össze.

További információ: Korábbi verziók megtekintése és kezelése.

Fájlütközések feloldása

  • Feloldás parancs: Feloldja a munkaterületen és a kiszolgálón lévő elemek közötti ütközéseket.

További információ: A Team Foundation verziókövetési ütközéseinek feloldása.

Verziókövetési zárolások használata

További információ: Verziókövetési zárolások használata.

Kockázat elkülönítése

A következő parancsokkal elkülönítheti a kockázatokat ágak használatával:

További információ: Az ágak használata a kockázat elkülönítéséhez a Team Foundation verziókövetésében.

verziókövetés Rendszergazda

A verziókövetési rendszer kezeléséhez használja az alábbi parancsokat:

További információ: A kivételi beállítások konfigurálása.

Segítség kérése verziókövetési parancsokkal kapcsolatban

A verziókövetési parancsokkal kapcsolatos részletes információkért használja az alábbi parancsokat:

A parancs szintaxisának ismertetése

Az egyes parancsok szintaxisa az egyes referenciacikkek tetején jelenik meg.

Kötelező és nem kötelező argumentumok

Nem zárójeles argumentumokra van szükség. [Zárójelek] olyan választható argumentumokat jelöl, amelyek nem szükségesek a parancs végrehajtásához. Egyes választható argumentumok azonban alapértelmezett értékekkel rendelkeznek, amelyek akkor is érvényesek a parancsra, ha nem adja meg a beállítást.

Kizárólagos argumentumok

Ha a beállításokat egy cső (|) választja el egymástól, megadhatja az egyik lehetőséget.

Szó szerinti és helyettesíthető argumentumok

A szögletes zárójelben nem szereplő elemek szó szerint is megadható beállítások. A szögletes zárójelek (< és >) közé tartozó elemek olyan argumentumok, amelyeket a parancs végrehajtásához tényleges karakterekre kell cserélni.

Parancsikonok és aliasok

Egyes parancsok támogatják a billentyűparancsokat. Meghívhatja például a Delete parancsot vagy tf deletetf dela .

Példa

Vegyük például a Checkout parancsot:

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

Ez a példa a következő argumentumokat foglalja magában:

  • <item-spec>: Ezt az argumentumot egy olyan elemspecifikációra kell cserélnie, amely azonosítja a kiveendő elemeket.
  • Az alábbi argumentumok megadása nem kötelező. Ha nem adja meg őket, egyik hatásuk sem vonatkozik a parancsra:
    • /lock:(none|checkin|checkout): Ha nem adja meg a /lock beállítást, a rendszer alapértelmezés szerint használja /lock:none . Ellenkező esetben megadhatja a többi zárolási beállítás egyikét.
    • /recursive: Ha egy mappában több elemet szeretne rekurzívan kivenni, ezt a beállítást szó szerint meg kell adnia.
    • /login:<username>, <password>: Ha a parancsot másik felhasználóként szeretné futtatni, meg kell adnia a /login beállítást szó szerint, és le kell cserélnie <username> a felhasználó nevét. Szükség esetén cserélje le <password> a felhasználó jelszavát.

A parancs által érintett elemek megadása

Az elemspecifikációk és a verzióspecifikációk segítségével megadhatja, hogy mely elemekre van hatással egy parancs.

Elemspecifikáció argumentum használata az érintett elemek megadásához

A parancs által érintett elemeket elemspecifikációval adhatja meg. Megadhatja az elemeket egy ügyfélgépen vagy az Azure DevOps-kiszolgálón. Használhat helyettesítő karaktereket, például * és ?.

Ügyfélelem-specifikáció argumentumai

Az ügyfélelem-specifikáció argumentum az ügyfélgép elemeinek elérési útját adja meg, például:

  • Egy mappa, például c:\code\SiteApp\Main\SolutionA\.
  • Egy fájl, például c:\code\SiteApp\Main\SolutionA\Project1\program.cs.
  • Több fájl, például c:\code\SiteApp\Main\SolutionA\*.cs.
  • Univerzális elnevezési konvenció (UNC) elérési útja, például \\myshare\code\SiteApp\Main.

Kiszolgálóelem-specifikáció argumentumai

A kiszolgálóelem-specifikáció argumentum az Azure DevOps-kiszolgálón található elemek elérési útját adja meg, például:

  • Egy mappa, például $/SiteApp/Main/SolutionA.
  • Egy fájl, például $/SiteApp/Main/SolutionA/Project1/program.cs.
  • Több fájl, például $/SiteApp/Main/SolutionA/*.cs.

Általában kiszolgálóelem-specifikáció argumentumokat használ, amikor parancsot kell futtatnia az ügyfélszámítógépen nem található elemeken. Tegyük fel például, hogy fejlesztőgépen dolgozik. Ha olyan projektgyűjtemény egyes elemeiről szeretne korrektúraelőzmény-adatokat lekérni, amelyekben nem dolgozik, használja a következő parancsot:

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

Több elem specifikációs argumentuma

Egyes parancsok esetében több elemspecifikációs argumentumot is megadhat, például:

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

Ez a parancs program.cs és program2.c.

Az elemek érintett verzióinak megadása verzióspecifikációs argumentum használatával

A parancs által érintett elemek verzióját verziós specifikációval adhatja meg. A verzióspecifikáció megadásához a következőt teheti:

  • Használja például /version:C44a /version lehetőséget.

  • Fűzze hozzá a verzióspecifikációt egy elemspecifikációhoz pontosvesszővel, program1.cs;C44például.

Az Előzmények vagy a Különbség parancs használatakor a verziók tartományát úgy adhatja meg, hogy a verziókat egy tilde-vel választja el, például:

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

A verzióspecifikáció megadásához használja az alábbi szintaxist:

Típus Szintaxis Leírás Példák Eredmény
Módosításkészlet [C]<version-number> A változáskészlet száma alapján adja meg az elemeket. Ha egy hatókörben lévő elemet nem módosítottak a megadott változáskészletben, a rendszer az elem legújabb verzióját használja, amely a megadott módosításkészlet előtt történt. Kihagyhatja C , ha csak egy számot ad meg. tf get readme.txt /v:C8

tf get readme.txt /v:8

tf get readme.txt;8
Ha readme.txt módosították a 8. módosítási halmazban, a példakód lekéri a fájl ezen verzióját. Ellenkező esetben a 8- readme.txt legújabb verzióját kapja meg.
Címke L<label> Azokat az elemeket adja meg, amelyekre címke van alkalmazva. tf get readme.txt;LJulyHotFix

tf get /version:LLastKnownGood
Az első példa a JulyHotFix címkével ellátott readme.txt verzióját kapja meg. A második lekéri a munkaterületen lévő összes címkézett elem verzióját (és törli a nem címkézett elemeket), mivel azok a LastKnownGood címkével ellátott változáskészlet létrehozásakor léteztek. A második példában szereplő kódot egy automatizált buildelési folyamat részeként használhatja.
Dátum és idő D<yyyy-mm-ddTxx:xx>

vagy

D<mm/dd/yyyy>

vagy

Bármilyen .NET-keretrendszer által támogatott formátum.

vagy

A helyi gépen támogatott dátumformátumok bármelyike.
Egy adott dátumon, adott időpontban létrehozott módosításkészletet ad meg. tf get /version:D2022-03-22

tf get /version:D2022-03-22T09:00
Az első példa frissíti a munkaterületet, hogy megfeleljen a 2022. március 22-én éjfélkor létező kódbázisnak. A második frissítés a munkaterületet úgy frissíti, hogy megfeleljen a 2022. március 22-én 9:00-kor létező kódbázisnak. A .NET-keretrendszer által támogatott dátum- és időformátumokról további információt a DateTime és a Standard dátum- és időformátum sztringjeiben talál.
Aktuális munkaterület W Megadja a munkaterületen lévő verziót. - -
Megadott munkaterület W<workspace-name>; <workspace-owner> A megadott munkaterület verziószámát adja meg. tf get /version:WResolveRIConflicts;PatW A példa a munkaterületen PatW lévő verziót ResolveRIConflicts adja meg.
Tipp. T A legújabb verziót adja meg. - -

Parancsfüggvények módosításának beállításai

Néhány gyakori beállítással módosíthatja a parancsok működését.

A beállítással letilthatja az /noprompt adatbemeneti kérelmeket, és átirányíthatja a kimeneti adatokat

Ezzel a beállítással letilthatja az /noprompt adatbemeneti kérelmeket, és átirányíthatja a kimeneti adatokat a parancssori ablakba. Ez a beállítás akkor lehet hasznos, ha verziókövetési parancsokat kell használnia egy olyan szkriptben, ahol:

  • A parancs a felhasználó beavatkozása nélkül folytatódik.
  • Az adatok a szkript számára érhetők el műveletek végrehajtásához, például elemzéshez vagy rögzítéshez.

Ha ezt a lehetőséget használja, a rendszer:

  • Letiltja az összes bemeneti kérést:

    • A parancssori ablakban nem jelennek meg kérdések. Ha például a Visszavonás parancsot használja ezzel a beállítással, a rendszer nem kéri, hogy erősítse meg, hogy vissza szeretné-e vonni a módosításokat.
    • A Windows és a párbeszédpanelek nem jelennek meg. Ezt a lehetőséget használhatja például a Checkin paranccsal. A rendszer nem jeleníti meg a Bejelentkezés párbeszédpanelt az elemek és a kapcsolódó munkaelemek megerősítéséhez. Ehelyett a rendszer megerősítés nélkül ellenőrzi az elemeket.
  • Átirányítja a kimeneti adatokat a parancssorba. Ezt a lehetőséget használhatja például az Előzmények paranccsal. Az adatok az Előzmények ablak helyett a parancssori ablakban jelennek meg.

Hitelesítő adatok megadása a /login beállítással

Ezzel a /login beállítással megadhatja az Azure DevOps-kiszolgáló felhasználói fiókját egy parancs futtatásához. Ez a beállítás akkor lehet hasznos, ha egy másik csapattag gépén dolgozik.

Tegyük fel például, hogy a csapattag fejlesztői gépén dolgozik. A Zárolás paranccsal feloldhatja a korábban zárolt fájl zárolását:

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

Ha el szeretné kerülni, hogy a jelszó megjelenjen a parancssorban, jelszó nélkül is beírhatja a parancsot:

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

A parancs megadása után a rendszer kéri, hogy adja meg a jelszót egy párbeszédpanelen, amely elfedi a bemenetet.

Zárolás alkalmazása vagy eltávolítása a /lock beállítással

Fontos

Ajánlott eljárásként használja a /lock lehetőséget saját belátása szerint. Tájékoztassa csapattársait arról, hogy miért zárol egy elemet, és mikor tervezi eltávolítani a zárolást.

Ezzel a /lock beállítással alkalmazhat vagy távolíthat el egy zárolást egy másik parancs, például a Hozzáadás vagy a Szerkesztés parancs futtatásával egyidejűleg.

/lock:(none|checkin|checkout)

A /lock parancs a következő lehetőségeket használja:

  • None: Nincs zárolás egy elemen. Ha már létezik zárolás, a rendszer eltávolítja.

  • Checkin vagy Checkout: A rendszer zárolást alkalmaz. További információ: A zárolási típusok ismertetése.

Feljegyzés

Néhány esetben a zárolási művelet meghiúsulhat:

  • Ha bármely más felhasználó zárolta a megadott elemek bármelyikét, a zárolási művelet meghiúsul.
  • Ha már van függőben lévő módosítás a megadott elemen, a rendszer figyelmen kívül hagyja ezt a kapcsolót. Ebben az esetben az elem zárolásának módosításához a Zárolás parancsot kell használnia.

Beállítási billentyűparancsok használata

A következő beállításokat rövidítheti.

Beállítás

Option Alias

/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

Kilépési kódok ismertetése

A verziókövetési parancsok a következő kilépési kódokat adják vissza:

Kilépési kód

Definíció

0

Sikeres.

1

Részleges siker. Legalább valami, vagy talán minden sikertelen volt.

2

Ismeretlen parancs.

100

Semmi sem sikerült.

Tegyük fel például, hogy a következő parancsot futtatja:

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

Ha a kivenni kívánt fájlok egyike nem létezik a kiszolgálón, a parancs 1-et ad vissza a részleges sikeresség jelzéséhez.