Konfliktov
Konflikt nastane, keď sa vykonajú zmeny rovnakej položky v pracovnom priestore aj vo vzdialenom odkladacom priestore Git. Keď nastane konflikt, v stave Git sa zobrazí hlásenie Conflict (Konflikt ) a Commit (Potvrdiť) je zakázané.
Keď v prípade konfliktu vyberiete položku Aktualizovať , zobrazí sa hlásenie s upozornením, že musíte vyriešiť dané konflikty ešte pred aktualizáciou.
Existujú tri spôsoby riešenia konfliktu:
- Vyberte verziu, ktorú chcete používať v používateľskom rozhraní.
- Zmeňte buď pracovný priestor, alebo odkladací priestor systému Git na predchádzajúci synchronizovaný stav.
- Vyriešiť konflikt v Git.
- Manuálne aktualizovať pracovnom priestore v prípade zlyhania aktualizácie jednej alebo viacerých položiek.
Riešenie konfliktu v používateľskom rozhraní
Ak chcete zobraziť zoznam všetkých položiek, ktoré majú konflikt, vyberte položku Aktualizovať všetko . Potom môžete vybrať, ktorú verziu si ponecháte pre každú položku. Pre každú konfliktnú položku sa môžete rozhodnúť prijať prichádzajúce zmeny z odkladacieho priestoru Git alebo si ponechať aktuálnu verziu, ktorá je v pracovnom priestore.
Výberom položky Prijať prichádzajúce zmeny prepíšete zmeny v pracovnom priestore. Zmeny pracovného priestoru sa stratia a stav systému Git sa v prípade úspešného importu zmení na synchronizovaný .
Vyberte možnosť Zachovať aktuálny obsah , aby sa verzia momentálne nachádzala v pracovnom priestore. Po dokončení aktualizácie sa stav systému Git zmení na neodstraňujúci zmeny , pretože zmeny v pracovnom priestore ešte nie sú viazané na vetvu.
Návrat k predchádzajúcemu stavu
Môžete vrátiť buď celý pracovný priestor, alebo vetvu Git do naposledy synchronizovaného stavu. Ak vrátite vetvu Git na predchádzajúce potvrdenie, stále môžete vidieť zmeny vykonané v nesynchronizovanej vetve. Ak vrátite pracovný priestor, stratíte všetky zmeny vykonané v pracovnom priestore od posledného potvrdenia.
Ak sa chcete vrátiť k predchádzajúcemu synchronizovanému stavu, vykonajte jednu z nasledujúcich akcií:
- Pomocou príkazu Späť sa vrátia konfliktné položky v pracovnom priestore do posledného synchronizovaného stavu.
- Vrátenie sa k poslednému synchronizovanému stavu v službe Git pomocou príkazu v službe
git revert
Azure DevOps.
Konflikty môžete vyriešiť aj odpojením a opätovným pripojením pracovného priestoru. Keď sa opätovne pripojíte, vyberte smer, ktorým sa má synchronizovať. Upozorňujeme však, že pri opätovnom pripojení sa prepíšu všetky položky v pracovnom priestore alebo vetve, a nie len tie konfliktné. Nevracia pracovný priestor ani vetvu do posledného synchronizovaného stavu. Obsah sa skôr prepíše na jednom mieste s obsahom druhého.
Riešenie konfliktu v gitu
Ak si nie ste istí, aké zmeny boli vykonané a ktorá verzia si má vybrať a nechcete sa vrátiť na predchádzajúci stav, môžete skúsiť vyriešiť konflikt v odkladacom priestore Git vytvorením novej vetvy, vyriešením konfliktu v danej vetve a jeho synchronizáciou s aktuálnou vetvou.
Poznámka
Znova pripojiť pracovný priestor k novej vetve môže len správca pracovného priestoru.
Na paneli Ovládací prvok Zdroj skontrolujte novú vetvu pomocou ID poslednej synchronizovanej vetvy zobrazenej v dolnej časti obrazovky
Tento krok vytvorí novú vetvu z konfliktnej vetvy pomocou posledného synchronizovaného stavu Git pred vykonaním zmien, ktoré sú v rozpore s vašimi zmenami. Zmeny sa zobrazia na ovládacom paneli Zdroj, ale z vetvy Git nie je čo aktualizovať. Vetva vzatie z projektu zachová aktuálny stav pracovného priestoru, takže pri zmene vetvy sa zachovajú nevydané zmeny.
Potvrdiť zmeny do novej vetvy. Táto nová vetva teraz obsahuje zmeny, ktoré ste vykonali v položkách pripojených k predchádzajúcej verzii vetvy Git, ktorá nie je v rozpore s vašimi zmenami.
V službe git vyriešite konflikty medzi pôvodnou vetvou a novou vetvou.
V gitu zlúčte novú vetvu do pôvodnej vetvy
V službe Fabric prepnite pracovný priestor späť na pôvodnú vetvu.