Megosztás a következőn keresztül:


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 sourceparancsot. 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\usernameusernameegy é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 mergea 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 $TGTa . Mindkét ág a.txt nevű, nem kapcsolódó fájlt tartalmaz. A futtatáskor tf mergea 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