Řešení konfliktů při slučování v sadě Visual Studio

Když sloučíte jednu větev do druhé, změny souboru z potvrzení v jedné větvi můžou být v konfliktu se změnami v druhé větvi. Git se pokusí tyto změny vyřešit pomocí historie ve vašem úložišti, abyste zjistili, jak mají sloučené soubory vypadat. Pokud není jasné, jak sloučit změny, Git zastaví sloučení a řekne vám, které soubory jsou v konfliktu.

Zabránění konfliktům při slučování

Git je ve většině okolností dobrý při automatickém slučování změn souborů, pokud se obsah souboru mezi potvrzeními výrazně nemění. Pokud je vaše větev daleko za vaší hlavní větví, před otevřením žádosti o přijetí změn zvažte opětovné vytvoření větve. Znovu nasílané větve se sloučí do hlavní větve bez konfliktů.

Vyřešení konfliktů při slučování

  • Pokud spolupracujete s ostatními ve stejné větvi, může se při nasdílení změn zobrazit konflikty při slučování.

    Snímek obrazovky s konfliktem při sloučení po nasdílení změn

  • Visual Studio zjistí, jestli je místní větev, na které pracujete, za větví vzdáleného sledování, a pak vám poskytne možnosti, ze které si můžete vybrat.

    Snímek obrazovky s možnostmi dostupnými, když je místní větev za vzdálenou větví

    Poznámka:

    Pokud vzdálené úložiště podporuje vynucené nabízení změn, můžete ho povolit pomocí Gitu> Nastavení.

    V tomto příkladu vyberte Vyžádat a nasdílit změny , které byly zavedeny ve vzdáleném úložišti. Pokud při načítání změn nebo pokusu o sloučení dvou větví dojde ke konfliktům při slučování, Visual Studio vás upozorní v okně Změn Gitu, v okně úložiště Git a na všech souborech, které mají konflikty.

    Snímek obrazovky s oznámením o konfliktu při sloučení

  • V okně Změny Gitu se zobrazí seznam souborů s konflikty v části Unmerged Changes (Neupravené změny). Chcete-li začít řešit konflikty, poklikejte na soubor. Nebo pokud máte soubor s konflikty otevřený v editoru, můžete vybrat Otevřít slučovací editor.

    Snímek obrazovky se stavem konfliktu při sloučení v okně Změny Gitu

  • V Editoru sloučení začněte řešit konflikt pomocí některé z následujících metod (jak je znázorněno na číslovaného snímku obrazovky):

    1. Přejděte přes konflikty po řádcích a vyberte si, jestli chcete zachovat pravou nebo levou stranu zaškrtnutím políček.

      - nebo -

    2. Pokud chcete přijmout všechny příchozí změny, vyberte tlačítko Přijmout příchozí (nebo stiskněte klávesu F10) nebo tlačítko Přijmout aktuální (nebo stiskněte klávesu F11), abyste zachovali aktuální verzi všech konfliktních změn. To samé můžete udělat tak, že vyberete jedno z políček v horní části rámečku vedle sebe.

      - nebo -

    3. Ručně upravte kód v okně Výsledek .

    Snímek obrazovky, který ukazuje, jak vyřešit konflikt při slučování v sadě Visual Studio 2022

    Tip

    Pokud se vám v Editoru sloučení nelíbí výchozí rozložení, můžete ho změnit pomocí rozevírací nabídky ozubeného kola.

    Snímek obrazovky s možnostmi rozložení editoru sloučení

    Například následující snímek obrazovky ukazuje, jak vypadá svislé zobrazení:

    Snímek obrazovky se svislým zobrazením v uživatelském rozhraní Editoru sloučení

  • Až budete hotovi s řešením konfliktů při slučování, vyberte Přijmout sloučení. Tento postup opakujte pro všechny konfliktní soubory.

    Snímek obrazovky s akcí Přijmout sloučení v sadě Visual Studio 2022

  • Pomocí okna Změny Gitu vytvořte potvrzení sloučení a vyřešte konflikt.

    Snímek obrazovky znázorňuje, jak vytvořit potvrzení sloučení pomocí okna Změny Gitu.

    Poznámka:

    Pokud chcete zachovat všechny změny souboru, můžete na něj kliknout pravým tlačítkem myši v oddílu Unmerged Changes (Nečleněné změny ) a vybrat Zachovat aktuální (místní), aniž byste museli otevřít Slučovací editor.

    Snímek obrazovky s možností Zachovat aktuální nabídku

Tip

Další informace o dostupných možnostech přístupnosti najdete v části Klávesové zkratky Gitu v tipech a trikech pro usnadnění přístupu pro stránku sady Visual Studio.

Konfigurace nástroje rozdílu

Pokud nastavíte .gitconfig soubor tak, aby používal nástroj pro rozdíly od třetích stran, jako je BeyondCompare nebo KDiff3, sada Visual Studio ho respektuje. Kdykoli by visual Studio normálně zobrazovalo rozdíl, otevře se v nástroji podle vašeho výběru samostatné okno. Podívejte se například na tuto otázku StackOverflow .