Řešení konfliktů
Ke konfliktu dochází v případě, že se změny ve stejné položce v pracovním prostoru i ve vzdáleném úložišti Git provádějí. Pokud dojde ke konfliktu, stav Gitu říká Konflikt a Potvrzení je zakázáno.
Když vyberete Možnost Aktualizovat , když dojde ke konfliktům, zobrazí se zpráva s upozorněním, že před aktualizací musíte konflikty vyřešit.
Konflikt můžete vyřešit třemi způsoby:
- Vyberte verzi, kterou chcete zachovat v uživatelském rozhraní.
- Vraťte pracovní prostor nebo úložiště Git do předchozího synchronizovaného stavu.
- Vyřešte konflikt v Gitu.
Řešení konfliktů v uživatelském rozhraní
Výběrem možnosti Aktualizovat vše zobrazíte seznam všech položek, které mají konflikty. Pak můžete vybrat, kterou verzi chcete pro každou položku zachovat. U každé konfliktní položky můžete přijmout příchozí změny z úložiště Git nebo zachovat aktuální verzi, která je v pracovním prostoru.
Zvolte Přijmout příchozí změny a přepište změny v pracovním prostoru. Změny pracovního prostoru se ztratí a stav Gitu se synchronizuje , pokud import proběhne úspěšně.
Pokud chcete zachovat aktuální verzi v pracovním prostoru, zvolte Zachovat aktuální obsah . Po dokončení aktualizace se stav Gitu změní na nepotvrzené změny , protože změny v pracovním prostoru ještě nejsou potvrzeny do větve.
Návrat k předchozímu stavu
Můžete vrátit celý pracovní prostor nebo větev Gitu k poslednímu synchronizovaném stavu. Pokud vrátíte větev Gitu k předchozímu potvrzení, stále uvidíte změny provedené v nesynchronované větvi. Pokud pracovní prostor vrátíte zpět, ztratíte všechny změny provedené v pracovním prostoru od posledního potvrzení.
Pokud se chcete vrátit k předchozímu synchronizovaném stavu, proveďte jednu z následujících akcí:
- Pomocí příkazu Zpět vrátí konfliktní položky v pracovním prostoru do posledního synchronizovaného stavu.
- Vraťte se k poslednímu synchronizovaném stavu v Gitu
git revert
pomocí příkazu v Azure DevOps.
Konflikty můžete vyřešit také odpojením a opětovným připojením pracovního prostoru. Po opětovném připojení vyberte směr, který chcete synchronizovat. Všimněte si ale, že při opětovném připojení přepíše všechny položky v pracovním prostoru nebo větvi a ne jenom konfliktní položky. Nevrací pracovní prostor ani větev do posledního synchronizovaného stavu. Místo toho přepíše veškerý obsah v jednom umístění obsahem druhého.
Řešení konfliktů v Gitu
Pokud si nejste jistí, jaké změny byly provedeny a které verze se mají zvolit a nechcete se vrátit k předchozímu stavu, můžete zkusit vyřešit konflikt v úložišti Git vytvořením nové větve, vyřešením konfliktu v této větvi a synchronizací s aktuální větví.
Poznámka:
Pracovní prostor může k nové větvi znovu připojit jenom správce pracovního prostoru.
V ovládacím panelu Zdroj se podívejte na novou větev s použitím ID poslední synchronizované větve zobrazené v dolní části obrazovky.
Tento krok vytvoří novou větev z konfliktní větve pomocí posledního synchronizovaného stavu Gitu před provedením změn, které jsou v konfliktu s vašimi změnami. Změny můžete zobrazit na panelu Správy zdrojového kódu , ale z větve Gitu se nic neaktualizuje. Kontrolní větev zachová aktuální stav pracovního prostoru, takže při změně větve se zachovají nepotvrzené změny.
Potvrďte změny do nové větve. Tato nová větev teď obsahuje změny, které jste provedli u položek připojených ke starší verzi větve Git, která není v konfliktu s vašimi změnami.
V Gitu vyřešte konflikty mezi původní větví a novou větví.
V Gitu sloučíte novou větev do původní větve.
V prostředcích infrastruktury přepněte pracovní prostor zpět do původní větve.