Řešení konfliktů Správa verzí Team Foundation
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Výhodou použití Správa verzí Team Foundation (TFVC) ke správě souborů je, že na souboru může souběžně pracovat několik lidí. Jednou z nevýhod je, že někdy musíte vyřešit konflikty, než se dostanete, vrátíte se změnami, zrušíte, sloučíte nebo vrátíte zpět soubory.
I když může být frustrující pro konflikty, systém poskytuje informace a nástroje, které vám pomůžou pochopit a vyřešit konflikty.
Konflikty můžete vyřešit také z příkazového řádku pomocí příkazu Vyřešit.
Tip
Pokud váš tým potřebuje spolupracovat na řešení velkého počtu konfliktů, například po operaci sloučení ve velkém základu kódu, může pomoct veřejný pracovní prostor na sdíleném vývojovém počítači. Další informace najdete v tématu Vytvoření a práce s pracovními prostory.
Řešení konfliktů
Konflikty, které vás blokují, můžete vyřešit pomocí okna Konflikty v sadě Visual Studio. Okno otevřete výběrem možnosti Akce>Vyřešit konflikty na stránce Čekající změny v Team Exploreru.
Ve výchozím nastavení se v okně zobrazují pouze konflikty způsobené poslední operací, kterou jste se pokusili. Když je okno v tomto stavu, zobrazí se zpráva, která začíná: Použitý filtr cesty. Pokud chcete zobrazit všechny konflikty v pracovním prostoru, zvolte Získat všechny konflikty. Zobrazí se zpráva, která začíná na: <N> Konflikty .
Pokud od provedení změn souborů v pracovním prostoru uplynulo hodně času, mohlo dojít k novým konfliktům. Pokud chcete aktualizovat okno Vyřešit konflikty , zvolte Aktualizovat.
Každý konflikt obsahuje informace a někdy odkazy, které vám můžou pomoct s jejich řešením. Další informace získáte tak, že vyberete konflikt a zvolíte jednu z následujících možností:
Historie k zobrazení historie souboru Pokud je operace, která způsobila konflikt, sloučení nebo vrácení zpět, můžete zvolit ovládací prvek nabídky napravo od historie a pak vybrat buď historii zdroje, nebo cílovou historii. Další informace naleznete v tématu Získání historie položky.
Porovnejte nebo vyberte šipku rozevíracího seznamu vedle ikony a pak zvolte příkaz. Otevře se okno Diff.
Poznámkami zobrazíte podrobnosti o všech změnách provedených v nejnovější verzi souboru, včetně toho, kdo každou změnu provedl a kdy provedl. Viz Zobrazení změn souborů pomocí poznámek.
Automaticky zodpovědět všechny konflikty
Ve výchozím nastavení se systém automaticky pokusí automaticky spustit všechny konflikty, pokud tuto možnost nevypnete. Pokud chcete vypnout automatické zpracování, zvolte Možnosti nástrojů>. V dialogovém okně Možnosti v části Visual Studio Team Foundation Server správy zdrojového kódu>zrušte výběr možnosti Pokus automaticky vyřešit konflikty při jejich vygenerování.
V okně Vyřešit konflikty můžete také ručně zvolit možnost AutoResolve All a pak vybrat jednu z následujících možností:
Všechny typy konfliktů, pokud chcete, aby se systém pokusil konflikty vyřešit automaticky pomocí všech jeho heuristiky.
Konkrétní typy konfliktů, pokud chcete, aby se systém pokusil vyřešit konflikty, ale chcete vyloučit některé heuristiky.
Zobrazí se dialogové okno Zvolit konflikty, které chcete vyřešit . Zkontrolujte nebo zrušte zaškrtnutí možností, které chcete povolit nebo zakázat, a pak zvolte AutoResolve.
Systém se pokusí automaticky vyřešit konflikty zobrazené v okně Čekající změny . Všechny konflikty, které systém nedokáže vyřešit, zůstanou v okně. Tyto konflikty musíte vyřešit ručně.
Vysvětlení automatických možností
Typy konfliktů můžete automaticky vyřešit pomocí možnosti AutoResolve All . Když vyberete možnost Automaticky odstranit vše a pak vyberete Konkrétní typy konfliktů, zobrazí se dialogové okno Zvolit konflikty, které chcete vyřešit .
Příčina konfliktu
Příklad
Výběr zaškrtávacího políčka
V každé verzi souboru byly provedeny nekonfliktní změny obsahu.
V levé verzi souboru byla na začátku přidána nula . V souboru vpravo se na konec přidalo tři položky:
Konflikty se všemi změnami obsahu
Změny obsahu byly provedeny během operace získání nebo vrácení se změnami, které jsou jedinečné pro pracovní prostor nebo během operace sloučení nebo vrácení zpět, které jsou jedinečné pro cílovou verzi.
Položky čtyři a pět byly přidány do pracovního prostoru nebo cílové verze:
Konflikty s změnami obsahu provedenými pouze v místním pracovním prostoru nebo cílové větvi
Změny obsahu byly provedeny během operace získání nebo vrácení se změnami, které jsou jedinečné pro server nebo během operace sloučení nebo vrácení zpět, které jsou jedinečné pro zdrojovou verzi.
Položky čtyři a pět byly přidány na server nebo zdrojová verze:
Konflikty s změnami obsahu provedené pouze ve verzi serveru nebo zdrojové větvi
Soubor se na serveru přejmenoval během operace získání nebo vrácení se změnami nebo ve zdrojové větvi během operace sloučení nebo vrácení zpět.
Rezervovali jste soubor s názvem launch.cs a pracovali na něm. Během této doby se někdo jiný přihlásil do sady změn, která ovlivnila stejný soubor. Tato sada změn neupravovala obsah souboru, ale změnila název souboru na start.cs.
Konflikty způsobené přejmenováním souboru ve verzi serveru nebo zdrojové větvi
Provedly se běžné změny obsahu, které měly za následek stejný obsah v každé verzi. Nebo jste soubor změnili, zkontrolovali jste ho prostřednictvím zamknutého buildu vrácení se změnami a vybrali možnost Zachovat čekající změny místně .
Změny jednotlivých verzí způsobily identický obsah souboru. Změny můžou být v obsahu souborů, jak je znázorněno v následujícím příkladu:
Konflikty způsobené identickou změnou serveru a pracovního prostoru
Tato možnost také řeší konflikty, které jsou způsobené všemi ostatními operacemi, například přejmenováním, odstraněním, zrušením odstranění a větví, což vede k identickým souborům.
Tip
Pokud toto políčko zaškrtnete, systém tyto změny vyřeší stažením verze serveru do pracovního prostoru.
Automatické sloučení vybraných konfliktů
Chcete-li se pokusit vyřešit vybrané konflikty pomocí všech předchozích možností automatického vytváření, vyberte jeden nebo více konfliktů a pak zvolte AutoMerge.
Tip
Stisknutím a podržením klávesy Ctrl nebo Shift můžete vybrat více konfliktů.
Poznámka:
Pokud je funkce AutoMerge zakázaná, musíte konflikty vyřešit ručně.
Ruční řešení vybraných konfliktů
Pokud systém nedokáže konflikt vyřešit automaticky nebo pokud se chcete ujistit, že rozumíte tomu, co se mění, musíte konflikt vyřešit ručně. V rámci každého konfliktu systém zobrazí akce, které můžete provést k vyřešení konfliktu. Zobrazené akce závisí na typu konfliktu a na operaci, která konflikt způsobila.
Použití okna sloučit
Při konfliktních změnách obsahu může dojít ke konfliktu, můžete zvolit možnost Sloučit změny v nástroji Sloučení. Zobrazí se okno Sloučit .
V okně Sloučit můžete:
- Vyberte rozložení okna: Svislé zobrazení, Vodorovné zobrazení nebo Smíšené zobrazení.
- Navigujte mezi rozdíly a konflikty.
- Vyberte položky z levé a pravé verze souboru, abyste je zahrnuli do výsledků.
- Do souboru zadejte další obsah v podokně Výsledek .
- Zobrazte historii souboru. Další informace naleznete v tématu Získání historie položky.
- Porovnejte verze souboru.
- Když soubor označíte poznámkami, uvidíte, kdo co změnil. Další informace naleznete v tématu Zobrazení změn souborů pomocí anotace.
Až budete s obsahem podokna Výsledek spokojení, zvolte Přijmout sloučení.
Výsledek řešení konfliktu se zobrazí v podokně Výsledek .