Sdílet prostřednictvím


Řešení konfliktů ve správě verzí Team Foundation

 

Publikováno: duben 2016

Velkou výhodou použití Team Foundation – správa verzí pro správu souborů je, že několik lidí může pracovat souběžně na souboru. Nevýhodou je, že někdy je třeba vyřešit konflikty dříve, než mohou získat, se změnami, unshelve, sloučit nebo vrátit soubory.

I když výskyt konfliktů může být frustrující, poskytuje tento systém informace a nástroje, které vám pomohou konflikty pochopit a vyřešit.

  • Řešení konfliktů

  • Automaticky rozpoznávat všechny konflikty

  • Automaticky sloučit individuální konflikt

  • Ruční vyřešení jednotlivého konfliktu

  • Pochopte automatické možnosti

  • Práce z příkazového řádku

  • Získejte tipy

Řešení konfliktů

Chcete-li vyřešit konflikty, ke kterým jsou blokování okno vyřešit konflikty.

Konfliktní změny zablokovat vrácení se změnami

Vyřešit konflikty okna

Ve výchozím nastavení se v okně zobrazí pouze konflikty způsobené poslední operaci, o kterou jste se pokusili. Pokud je okno v tomto stavu, zobrazí se zpráva, která začíná: Filtr cesty použit. Chcete-li zobrazit všechny konflikty v pracovním prostoru, klikněte na příkaz Načíst všechny konflikty. Zobrazí se zpráva, která začíná: n konfliktů.

Uplynulo-li od změny v souborech v pracovním prostoru mnoho času, mohlo dojít k novým konfliktům. Chcete-li aktualizovat okno Vyřešit konflikty, zvolte možnost Aktualizovat.

Každý konflikt obsahuje informace a někdy odkazy, které vám mohou pomoci jej vyřešit. Chcete-li získat další informace, můžete vybrat konflikt a zvolit:

  • Tlačítko historie Historie, pokud chcete zobrazit historii souboru. Pokud je operací, která způsobila konflikt, sloučení nebo vrácení zpět, pak můžete použít ovládací prvek nabídky napravo od položky Historie a pak vybrat buď možnost Historie zdroje nebo Historie cíle.

    Další informace naleznete v tématu Načtení historie položky.

  • Tlačítko Přidat poznámky Přidat poznámku k zobrazení podrobností o všech změnách, které byly provedeny na nejnovější verzi souboru, včetně toho, kdo jednotlivé změny provedl a kdy. Další informace naleznete v tématu Zobrazení změn v souboru s použitím funkce poznámek.

  • Porovnat soubor – tlačítko Porovnat (nebo otevřete nabídku na pravé straně tlačítka a vyberte příkaz). Otevře se okno Diff.

Automaticky rozpoznávat všechny konflikty

Ve výchozím nastavení se systém automaticky pokusí o Automaticky vyřešení všech konfliktů, pokud jste tuto možnost nevypnuli (viz Tipy). V okně Vyřešit konflikty můžete také ručně zvolit možnost Automaticky vyřešit všea pak zvolit:

  • Vyberte Všechny typy konfliktů, pokud se má systém pokusit vyřešit konflikty automaticky pomocí všech svých heuristických metod.

  • Vyberte Konkrétní typy konfliktů, pokud se má systém pokusit vyřešit konflikty, ale chcete vyloučit některé z heuristických metod.

    Zobrazí se dialogové okno Vybrat konflikty k vyřešení. Zaškrtněte nebo zrušte zaškrtnutí možností, které chcete povolit nebo zakázat a pak zvolte možnost Automaticky vyřešit. Další informace naleznete v tématu Princip automatických možností níže.

Systém se pokusí automaticky rozpoznat konflikty zobrazené v okně čekající změny. Veškeré konflikty, které systém nebyl schopen vyřešit, zůstanou v okně. Je nutné ručně vyřešit tyto konflikty.

Automaticky sloučit jeden konflikt

Zvolte možnost AutoMerge, pokud chcete vyřešit vybrané konflikty pomocí všech možností AutoMerge popsaných níže v části Popis automatických možností.

Tip

Můžete stisknout a podržet klávesu Ctrl nebo Shift a pak vybrat více konfliktů.

Poznámka

Pokud je možnost AutoMerge zakázána, musí být tento konflikt vyřešen ručně.

Ruční vyřešení jednoho konfliktu

Pokud systém nemůže automaticky vyřešit konflikt nebo pokud chcete, mít přehled o tom, co se mění, musíte konflikt odstranit 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 operaci, která způsobila konflikt.

Sloučit změny v nástroji sloučení

Když je konflikt způsoben konfliktními změnami obsahu, můžete vybrat Sloučit změny v nástroji sloučení.

Pokud zvolíte tuto akci, zobrazí se okno Sloučení.

Sloučit okna

Výsledek práce na řešení konfliktu je uveden v podokně Výsledky.

V tomto okně můžete:

  • Vyberte rozložení okna: Vertikální zobrazení, Vodorovné zobrazení, Kombinované zobrazení.

  • Procházejte rozdíly a konflikty.

  • Vyberte položky z levé a pravé verze souboru, chcete-li je zahrnout do výsledků.

  • Zadejte další obsah do souboru v podokně výsledků.

  • Zobrazte historii souboru. Další informace naleznete v tématu Načtení historie položky.

  • Porovnejte různé verze souboru.

  • Přidat poznámku k souboru, aby bylo vidět, kdo co změnil. Další informace naleznete v tématu Zobrazení změn v souboru s použitím funkce poznámek.

Pokud jste spokojeni s obsahem panelu Výsledek, zvolte možnost Přijmout sloučení.

Pochopte automatické možnosti

Ve zvláštních případech můžete chtít omezit typy konfliktů automaticky řešené možností Automatické vyřešení všech.

Při výběru možnosti Automaticky vyřešit všea pak Určité typy konfliktů, zobrazí se dialogové okno Vybrat konflikty k vyřešení.

Vyberte dialogové okno vyřešit konflikty

Pokud má systém automaticky řešit konflikty, ke kterým došlo, protože...

Jak je vysvětleno v tomto příkladu...

Poté zaškrtněte toto políčko…

Nekonfliktní změny obsahu byly provedeny v jednotlivých verzích souboru

Ve verzi souboru na levé straně byla na začátek přidána číslice nula. V souboru na pravé straně byla na konec přidána číslice tři:

Bez konfliktní změny obsahu

Konflikty při změnách v obsahu

Byly provedeny změny obsahu, které jsou jedinečné pro pracovní prostor (během operace get nebo checkin) nebo cílovou verzi (během operace merge nebo rollback)

Do verze pracovního prostoru nebo cíle byla přidána verze čtyři a pět:

Změn v obsahu jedinečný prostor nebo cíl

Konflikty se změnami obsahu provedenými pouze v místním pracovním prostoru nebo v cílové větvi

Byly provedeny změny obsahu, které jsou jedinečné pro server (během operace get nebo checkin) nebo verzi zdroje (během operace merge nebo rollback)

Do verze serveru nebo zdroje byla přidána verze čtyři a pět:

Jedinečný server nebo zdroj obsahu změny

Konflikty se změnami obsahu provedenými pouze ve verzi na serveru nebo ve zdrojové větvi

Soubor na serveru (v průběhu operace get nebo vrácení se změnami) nebo ve větvi zdroje (během operace sloučení nebo vrácení) byl přejmenován.

Rezervovali jste soubor, který má název launch.cs a pracovali jste na něm. Během této doby někdo jiný vrátil sady změn se změnami, které ovlivnily stejný soubor. Tato sada změn nezměnila obsah souboru, ale změnila název souboru na start.cs.

Konflikty způsobené přejmenováním souboru ve verzi na serveru nebo ve zdrojové větvi

  • Byly provedeny změny společného obsahu, které způsobily vznik stejného obsahu v každé z verzí

  • Provedli jste změny souboru, vrátili ho se změnami prostřednictvím sestavení Gated Check-in a vybrali možnost Zachovat vlastní změny čekající na vyřízení místně.

Změny v každé verzi mají za následek stejný obsah souboru. Změny lze obsáhnout v souborech, jak je znázorněno v následujícím příkladu:

Stejné změny obsahu v každé verzi

Tato možnost také řeší konflikty, které jsou způsobeny všemi ostatními operacemi (například přejmenovat, odstranit, zrušit odstranění a větvit) a která má za následek stejné soubory.

Tip

Pokud toto políčko zaškrtnete, když budete pokračovat, systém vyřeší tyto změny převzetím (stažením) verze na serveru do vašeho pracovního prostoru.

Konflikty způsobené stejnými změnami na serveru a pracovním prostoru

Práce z příkazového řádku

Tipy

  • Tip Ve výchozím nastavení se systém automaticky pokusí o Automatické vyřešení všech konfliktů. Chcete-li změnit možnost, zvolte z nabídky panelu Nástroje, Možnostia pak v dialogovém okně Možnosti, přejděte na možnost Správa zdrojových souborů, Visual Studio Team Foundation Server. Vymažte pole Pokusit se o automatické vyřešení konfliktů při jejich vzniku.

  • Tip Potřebuje váš tým spolupracovat ve snaze odstranit velký počet konfliktů (například ty, ke kterým může dojít po sloučení v rozsáhlém základu kódu)? V takovém případě může pomoci veřejný pracovní prostor na sdíleném vývojovém počítači. Další informace naleznete v tématu Vytváření pracovních souborů a práce s nimi.