Merge command (Team Foundation Version Control)
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
A tf merge
parancs az egyik ág módosításait alkalmazza egy másikra a Team Foundation Verziókövetés (TFVC) alkalmazásban.
Feljegyzés
A parancs eredményei mindaddig nem jelennek meg az Azure DevOps-kiszolgálón, amíg nem végez bejelentkezési műveletet. További információ: Kód fejlesztése és függőben lévő módosítások kezelése.
Előfeltételek
A parancs használatához merge
engedélyeznie kell a kivételi engedélyt annak a munkaterületi mappának a számára, amely a parancsot tartalmazzadestination
, és az Olvasási engedély beállításnak engedélyeznie kell a munkaterület mappát, amely tartalmazza a source
parancsot. További információ: Alapértelmezett TFVC-engedélyek.
Syntax
tf merge [/recursive] [/force] [/candidate] [/discard]
[/version:versionspec] [/lock:none|checkin|checkout] [/preview]
[/baseless] [/nosummary] [/noimplicitbaseless] [/conservative] [/format:(brief|detailed)] [/noprompt] [/login:username,[password]] source destination
Paraméterek
Argumentumok
Argumentum
Leírás
<versionspec>
Olyan értéket ad meg, mint C2
a /version
beállítás. További információ arról, hogy a TFVC hogyan elemzi a verzióspecifikációt annak meghatározásához, hogy mely elemek tartoznak a hatókörébe: A Team Foundation verziókövetési parancsainak használata.
<source>
Megadja azt a fájlt vagy mappát, amely az egyesítés forrásaként szolgál.
<destination>
Megadja azt a fájlt vagy mappát, amely az egyesítés céljaként szolgál.
<username>
Értéket ad a /login
beállításnak. Megadhat egy username
értéket vagy DOMAIN\username
username
egy értéket.
Beállítások
Beállítás
Leírás
/recursive
Megfelel az source
aktuális könyvtár és az almappák elemspecifikációjának.
/force
Figyelmen kívül hagyja az egyesítési előzményeket, és egyesíti a forrásban megadott módosításokat a célhelyre, még akkor is, ha egyesítették ezeket a módosításokat.
/candidate
Kinyomtatja a forrás azon módosításainak listáját, amelyek még nem lettek egyesítve a célhelyen. A listában szerepelnie kell a még nem egyesített módosításkészlet-azonosítónak és a módosításkészlet egyéb alapvető információinak. Egy adott eredmény csillaga azt jelzi, hogy részlegesen egyesítették, ami azt jelenti, hogy a változáshalmaz egyesítése megtörtént, más módosítások pedig nem egyesültek.
/discard
Nem hajtja végre az egyesítési műveletet, de frissíti az egyesítési előzményeket az egyesítés nyomon követéséhez. Ez elvet egy módosításkészletet egy adott egyesítéshez.
/version
Szelektív egyesítés esetén ez a beállítás határozza meg azt a tartományt, amelyet egyesíteni kell a célhelyen. A felzárkózási körlevél esetében ez a paraméter azt a verziót adja meg, amely előtt az összes nem egyesített módosítást egyesíteni kell.
Szelektív egyesítés esetén a verziótartomány az egyesítendő módosítások halmazának elejét és végpontjait jelöli. Ha például megkísérli egyesíteni a verziót 4~6
, a 4-es, az 5-ös és a 6-os módosítások egyesülnek.
/lock
Megadja a zárolás típusát, vagy eltávolít egy zárat egy elemből. További információ: A zárolási típusok ismertetése.
Zárolási beállítások:
None
: Nem helyez el zárolást egy elemen, és eltávolítja a meglévő zárolást az elemből.Checkin
: Más felhasználók megtekinthetik a megadott elemeket, de a zárolás feloldásáig nem tudnak korrektúrákat beadni a zárolt fájlokba. Ha bármely más felhasználó zárolta a megadott elemek bármelyikét, a zárolási művelet meghiúsul.Checkout
: Megakadályozza, hogy a felhasználók a megadott elemek bármelyikét be- vagy kijelentkeztetik, amíg ön nem oldja fel a zárolást. Ha bármely más felhasználó zárolta a megadott elemek bármelyikét, vagy ha bármely elemen folyamatban van függőben lévő módosítás, a zárolási művelet meghiúsul.
/preview
Az egyesítés előnézetét jeleníti meg.
/baseless
Alapverzió nélküli egyesítést hajt végre. Ez azt is lehetővé teszi, hogy a felhasználó egyesítse azokat a fájlokat és mappákat, amelyek nem rendelkeznek egyesítési kapcsolatokkal. Az alap nélküli egyesítés után egyesítési kapcsolat áll fenn, és a jövőbeli egyesítéseknek nem kell alaptalannak lenniük.
Feljegyzés
Az alap nélküli egyesítések nem tudják törölni a célfájlokat. Ezeket a módosításokat manuálisan is átviheti.
/noimplicitbaseless
Azt adja meg, hogy a TFVC nem hajt végre implicit alap nélküli egyesítést két olyan elem között, amelyek két nem kapcsolódó verzióvezérlő fában azonos relatív névvel rendelkeznek.
/nosummary
Kihagyja az ütközések, hibák és figyelmeztetések összegzését.
/noprompt
Letiltja az Öntől érkező bemeneti kéréseket.
/conservative
Több ütközést eredményez, amikor egy ágat egy másikba egyesít.
/format
Az egyesítési ütközések összegzésének formátumát adja meg:
Brief
(alapértelmezett): Csak az ütközések, figyelmeztetések és hibák teljes számát összegzi.Detailed
: Nem csak az ütközések, figyelmeztetések és hibák teljes számát összegzi, hanem az egyes ütközések részleteit is felsorolja.
Feljegyzés
Ez a beállítás csak akkor érvényes, ha a kimenet az ütközések összegzését tartalmazza. Az összegzés nem jeleníthető meg, ha a /nosummary
beállítás van használatban, vagy az egyesítés 10-nél kevesebb ütközést, figyelmeztetést és hibát okozott.
/login
Megadja a felhasználónevet és a jelszót, amellyel hitelesítheti a felhasználót az Azure DevOpsszal.
Megjegyzések
A parancssori segédprogram parancsával tf
módosításokat alkalmazhat merge
egy meglévő forráságban egy meglévő célágra. Egyesíthet egy egyéni változatot vagy egy teljes módosítási halmazt a célágban. Egyesítheti a módosításokat a forrástól a célágig vagy a célágtól a forráságig.
A merge
parancs lehetővé teszi egy olyan forráság módosításainak lekérdezését is, amelyeket nem migráltak a célágba. A parancs azt is jelzi, hogy bizonyos módosítások soha nem lesznek egyesítve a forrásból a célhelyre, és többé nem jelennek meg az egyesítési művelet jelöltjeiként.
A parancssori segédprogram használatáról további információt a tf
Team Foundation verziókövetési parancsainak használata című témakörben talál.
Alap nélküli egyesítés
A nem egymástól közvetlenül elágaztatott elemek egyesítéséhez használja az alap nélküli egyesítést. Alap nélküli egyesítéshez a tf merge
parancsot kell használnia. Alap nélküli egyesítéskor a TFVC nem rendelkezik információval az ágakban lévő fájlok kapcsolatáról. Alap nélküli egyesítés esetén manuális ütközésfeloldásokat kell végrehajtania. Az alap nélküli egyesítés és az ütközések feloldása után a TFVC rögzíti az egyesítési előzményeket, és kapcsolatot létesít a mappák és a fájlok között.
A futtatáskor tf merge
a TFVC implicit alap nélküli egyesítést végez az olyan elemek között, amelyek két, korábban kapcsolódó verzió által szabályozott fában azonos relatív névvel rendelkeznek. Előfordulhat például, hogy egyesíteni szeretné a kapcsolódó ágakat $SRC
és $TGT
a . Mindkét ág a.txt nevű, nem kapcsolódó fájlt tartalmaz. A futtatáskor tf merge
a TFVC kapcsolatot létesít a két a.txt fájl között, ha a két fájl azonos, a FIPS-kompatibilis titkosítás le van tiltva, és a forrásfájl nem kapcsolódik a célban lévő többi fájlhoz.
Ha a beállításkészlettel fut tf merge
, amikor a /noimplicitbaseless
TFVC megpróbálja egyesíteni a két ágat, a két a.txt fájl névtérütközést okoz a módosítások ellenőrzésekor. Az ütközés feloldásához át kell neveznie az egyik fájlt.
Példák
Az alábbi példa olyan módosításokat egyesít MyFile_beta1 , amelyek még nem lettek egyesítve MyFile_RTM.
c:\projects>tf merge MyFile_beta1 MyFile_RTM /recursive
Az alábbi példa a 137-et a branch2-be egyesíti.
c:\projects>tf merge /version:C137~C137 branch1 branch2 /recursive
Az alábbi példa az összes módosítási halmazt a 137-ből a branch2-be egyesíti.
c:\projects>tf merge /version:C137 branch1 branch2 /recursive
Az alábbi példa a branch1 azon módosításainak listáját nyomtatja ki, amelyek még nem lettek egyesítve a branch2-be.
c:\projects>tf merge /candidate branch1 branch2 /recursive
Az alábbi példa a branch2 azon módosításainak listáját nyomtatja ki, amelyeket még nem egyesítettek újra az ág1 ágba.
c:\projects>tf merge /candidate branch2 branch1 /recursive
Az alábbi példa elveti a 137-as módosítási halmazt a 2. ágba való egyesítésre jelöltként.
c:\projects>tf merge /discard /version:C137~C137 branch1 branch2 /recursive
Az alábbi példa az összes módosítást elveti a 137-as módosítási halmazig a 2. ágba való egyesítésre jelölt jelöltként.
c:\projects>tf merge /discard /version:C137 branch1 branch2 /recursive