Sdílet prostřednictvím


Ř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ů.

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

  • Pokud spolupracujete s ostatními ve stejné větvi, mohou se při odeslání změn objevit konflikty při slučování.

    screenshot konfliktu při sloučení po odeslání 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 vaše vzdálené úložiště podporuje vynucenýpush, můžete ho povolit pomocí nastavení Git>.

    V tomto příkladu vyberte Vyžádat a pak nasdílejte, aby zahrnoval změny zavedené 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 informuje v okně Git Changes, 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í

  • Okno Změny Gitu zobrazuje seznam souborů s konflikty pod položkou Nesloučené 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 Git

  • 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. Výběrem tlačítka Přijmout příchozí (nebo stisknutím klávesy F10) přijměte všechny příchozí změny 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 svůj 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.

    Spropitné

    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 rozvržení editoru pro slučování

    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í

  • Po dokončení řešení konfliktů při slučování vyberte Přijmout sloučení. Tento postup opakujte pro všechny konfliktní soubory.

    snímek obrazovky akce Přijmout sloučení ve Visual Studiu 2022

  • Pomocí okna Git Changes 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 v oddílu Unmerged Changes 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

Spropitné

Další informace o dostupných možnostech přístupnosti najdete v sekci klávesové zkratky Git na stránce tipy a triky pro přístupnost ve Visual Studiu.

Nakonfigurujte nástroj pro porovnávání.

Pokud nastavíte soubor .gitconfig k použití nástroje pro rozdíly třetí strany, jako je BeyondCompare nebo KDiff3, Visual Studio jej respektuje. Kdykoli by Visual Studio běžně zobrazilo rozdíly, otevře se samostatné okno ve vámi zvoleném nástroji. Příklad najdete v tomto dotazu Stack Overflow.