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\IDE
né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:
- A Team Foundation verziókövetésének beállítása a fejlesztői gépen
- Munkaterületek létrehozása és kezelése
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
- Tulajdonságok (vagy Információ) parancs: A verziókövetés elemeivel kapcsolatos információkat jeleníti meg.
- Dir parancs: Megjeleníti a verziókövetési kiszolgáló tartalmát.
- Destroy command (Team Foundation Version Control): Véglegesen törli a verzió által szabályozott fájlokat.
- LocalVersions parancs: Megjeleníti a munkaterület elemeinek verzióit.
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
- Changeset command: Changeset attribútumok módosítása vagy megjelenítése.
- Előzmények parancs: Megjeleníti a fájlok vagy mappák változatelőzményeit.
- Címkeparancs (Team Foundation Verziókövetés): Címkék csatolása vagy eltávolítása fájlokból vagy mappákból.
- Címkék parancs: Megjeleníti a kiszolgálón használt címkék adatait.
- Visszaállítási parancs (Team Foundation verziókövetés): Visszaállítja a módosításkészletek hatásait.
- Címkézetlen parancs: Eltávolít egy elemet egy meglévő címkéből a kiszolgálón.
- Nézet parancs: Lekéri a fájl egy megadott verzióját, és megjeleníti azt.
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
- Zárolási parancs: Zárolja vagy feloldja a fájlokat és mappákat.
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 delete
tf del
a .
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:C44
a/version
lehetőséget.Fűzze hozzá a verzióspecifikációt egy elemspecifikációhoz pontosvesszővel,
program1.cs;C44
pé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
vagyCheckout
: 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.