Share via


Opdracht Samenvoegen (Team Foundation-versiebeheer)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Met de tf merge opdracht worden wijzigingen van de ene vertakking in een andere vertakking toegepast in Team Foundation Version Control (TFVC).

Notitie

De resultaten van deze opdracht worden pas weergegeven in de Azure DevOps-server als u een incheckbewerking uitvoert. Zie Code ontwikkelen en wachtende wijzigingen beheren voor meer informatie.

Vereisten

Als u de merge opdracht wilt gebruiken, moet de machtiging Uitchecken zijn ingesteld op Toestaan voor de werkruimtemap die destinationde map Bevat en moet de machtiging Lezen zijn ingesteld op Toestaan voor de werkruimtemap die de sourcemap bevat. Zie Standaard TFVC-machtigingen voor meer informatie.

Syntaxis

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

Parameters

Argumenten

Argument

Beschrijving

<versionspec>

Biedt een waarde, zoals C2 voor de /version optie. Zie Team Foundation-versiebeheeropdrachten gebruiken voor meer informatie over hoe TFVC een versiespecificatie parseert om te bepalen welke items binnen het bereik vallen.

<source>

Hiermee geeft u het bestand of de map die moet fungeren als de bron van de samenvoegbewerking.

<destination>

Hiermee geeft u het bestand of de map die moet fungeren als de bestemming van de samenvoegbewerking.

<username>

Biedt een waarde voor de /login optie. U kunt een username waarde opgeven als of DOMAIN\username username.

Opties

Optie

Beschrijving

/recursive

Komt overeen met de source itemspecificatie in de huidige map en eventuele submappen.

/force

Negeert de samenvoeggeschiedenis en voegt de opgegeven wijzigingen van de bron samen in het doel, zelfs als sommige of al deze wijzigingen eerder zijn samengevoegd.

/candidate

Hiermee wordt een lijst afgedrukt met alle wijzigingensets in de bron die nog niet zijn samengevoegd in het doel. De lijst moet de wijzigingenset-id bevatten die niet is samengevoegd en andere basisinformatie over die wijzigingenset. Een sterretje voor een bepaald resultaat geeft aan dat het gedeeltelijk is samengevoegd, wat betekent dat sommige wijzigingen in de wijzigingenset zijn samengevoegd en dat andere wijzigingen niet zijn samengevoegd.

/discard

Hiermee wordt de samenvoegbewerking niet uitgevoerd, maar wordt de samenvoeggeschiedenis bijgewerkt om bij te houden dat de samenvoeging heeft plaatsgevonden. Hiermee wordt een wijzigingenset verwijderd die niet wordt gebruikt voor een bepaalde samenvoeging.

/version

Voor een selectieve samenvoeging geeft deze optie het bereik op dat moet worden samengevoegd in de bestemming. Voor een inhaalsamenvoeging geeft deze parameter de versie op waarvoor alle niet-samengevoegde wijzigingen moeten worden samengevoegd.

Voor een selectieve samenvoeging geeft het versiebereik de begin- en eindpunten aan van de set wijzigingen die moeten worden samengevoegd. Als u bijvoorbeeld probeert de versie 4~6samen te voegen, worden de wijzigingensets 4, 5 en 6 samengevoegd.

/lock

Hiermee geeft u een vergrendelingstype op of verwijdert u een vergrendeling van een item. Zie Vergrendelingstypen begrijpen voor meer informatie.

Vergrendelingsopties:

  • None: Plaatst geen vergrendeling op een item en verwijdert bestaande vergrendeling van het item.

  • Checkin: Andere gebruikers kunnen de opgegeven items uitchecken, maar ze kunnen geen revisies inchecken voor vergrendelde bestanden totdat u de vergrendeling loslaat door een check-in uit te voeren. Als andere gebruikers een van de opgegeven items hebben vergrendeld, mislukt de vergrendelingsbewerking.

  • Checkout: Hiermee voorkomt u dat gebruikers een van de opgegeven items inchecken of uitchecken totdat u de vergrendeling expliciet loslaat. Als andere gebruikers een van de opgegeven items hebben vergrendeld of als er bestaande wijzigingen in behandeling zijn voor een item, mislukt de vergrendelingsbewerking.

/preview

Toont een voorbeeld van de samenvoegbewerking.

/baseless

Voert een samenvoeging uit zonder basisversie. Dat wil gezegd, stelt de gebruiker in staat bestanden en mappen samen te voegen die geen samenvoegrelatie hebben. Na een basisloze samenvoeging bestaat er een samenvoegrelatie en hoeven toekomstige samenvoegingen niet baseless te zijn.

Notitie

Met basisloze samenvoegingen kunnen geen bestanden in het doel worden verwijderd. U kunt dergelijke wijzigingen handmatig overdragen.

/noimplicitbaseless

Hiermee geeft u op dat TFVC geen impliciete basisloze samenvoeging uitvoert tussen twee items met dezelfde relatieve naam in twee niet-gerelateerde versiebeheerstructuren.

/nosummary

Hiermee wordt de samenvatting van conflicten, fouten en waarschuwingen weggelaten.

/noprompt

Onderdrukt eventuele aanwijzingen voor invoer van u.

/conservative

Resulteert in meer conflicten wanneer u de ene vertakking samenvoegt naar een andere.

/format

Hiermee geeft u de notaties van samenvoegingsconflicten op:

  • Brief (standaard): geeft alleen een overzicht van het totale aantal conflicten, waarschuwingen en fouten.
  • Detailed: Geeft niet alleen een overzicht van het totale aantal conflicten, waarschuwingen en fouten, maar bevat ook details over elk conflict.

Notitie

Deze optie is alleen van toepassing wanneer de uitvoer een samenvatting van conflicten bevat. De samenvatting kan niet worden weergegeven als de /nosummary optie wordt gebruikt of als de samenvoeging minder dan 10 conflicten, waarschuwingen en fouten veroorzaakt.

/login

Hiermee geeft u de gebruikersnaam en het wachtwoord op om de gebruiker te verifiëren met Azure DevOps.

Opmerkingen

U kunt de merge opdracht van het tf opdrachtregelprogramma gebruiken om wijzigingen in een bestaande bronvertakking toe te passen op een bestaande doelvertakking. U kunt een afzonderlijke revisie of een volledige wijzigingenset samenvoegen met de doelbranch. U kunt wijzigingen van de bron samenvoegen naar de doelbranch of van de bestemming naar de bronbranch.

merge Met de opdracht kunt u ook query's uitvoeren op wijzigingen in een bronbranch die niet naar de doelbranch zijn gemigreerd. Met de opdracht kunt u ook aangeven dat bepaalde wijzigingen nooit van de bron naar de bestemming worden samengevoegd en niet meer als kandidaten voor een samenvoegbewerking moeten worden weergegeven.

Zie Team Foundation-versiebeheeropdrachten gebruiken voor meer informatie over het gebruik van het tf opdrachtregelprogramma.

Basisloze samenvoeging

Gebruik basisloze samenvoeging om items die niet rechtstreeks van elkaar zijn vertakt, samen te voegen. Als u een basisloze samenvoeging wilt uitvoeren, moet u de tf merge opdracht gebruiken. Wanneer u een basisloze samenvoeging uitvoert, heeft TFVC geen informatie over de relatie van de bestanden in de vertakkingen. Bij een basisloze samenvoeging moet u handmatige conflictoplossing uitvoeren. Nadat u de basisloze samenvoeging hebt uitgevoerd en eventuele conflicten hebt opgelost, registreert TFVC de samenvoeggeschiedenis en brengt een relatie tot stand tussen de mappen en bestanden.

Wanneer u uitvoert, voert tf mergeTFVC een impliciete basisloze samenvoeging uit tussen items met dezelfde relatieve naam in twee eerder gerelateerde versiebeheerde structuren. U kunt bijvoorbeeld de gerelateerde vertakkingen $SRC en $TGT. Beide vertakkingen bevatten een niet-gerelateerd bestand met de naam a.txt. Wanneer u uitvoert tf merge, brengt TFVC een relatie tot stand tussen de twee a.txt bestanden als de twee bestanden hetzelfde zijn, FIPS-compatibele versleuteling is uitgeschakeld en het bronbestand niet is gerelateerd aan een ander bestand in het doel.

Als u met de optieset uitvoert tf merge en TFVC probeert de twee vertakkingen samen te voegen, maken de twee a.txt bestanden een naamruimteconflict wanneer u de wijzigingen probeert in te checken./noimplicitbaseless Als u het conflict wilt oplossen, moet u de naam van een van de bestanden wijzigen.

Voorbeelden

In het volgende voorbeeld worden wijzigingen van MyFile_beta1 samengevoegd die niet zijn samengevoegd in MyFile_RTM.

c:\projects>tf merge MyFile_beta1 MyFile_RTM /recursive

In het volgende voorbeeld worden wijzigingenset 137 samengevoegd in branch2.

c:\projects>tf merge /version:C137~C137 branch1 branch2 /recursive

In het volgende voorbeeld worden alle wijzigingensets samengevoegd tot wijzigingenset 137 in branch2.

c:\projects>tf merge /version:C137 branch1 branch2 /recursive

In het volgende voorbeeld wordt een lijst afgedrukt met de wijzigingensets in branch1 die niet zijn samengevoegd in branch2.

c:\projects>tf merge /candidate branch1 branch2 /recursive

In het volgende voorbeeld wordt een lijst afgedrukt met wijzigingensets in branch2 die niet zijn samengevoegd in branch1.

c:\projects>tf merge /candidate branch2 branch1 /recursive

In het volgende voorbeeld worden wijzigingenset 137 genegeerd als kandidaat voor samenvoegen in branch2.

c:\projects>tf merge /discard /version:C137~C137 branch1 branch2 /recursive

In het volgende voorbeeld worden alle wijzigingensets tot aan wijzigingenset 137 verwijderd als kandidaten voor samenvoegen in branch2.

c:\projects>tf merge /discard /version:C137 branch1 branch2 /recursive