Git je skvělý nástroj pro správu verzí kódu, ale při práci ve větších týmech se často stává, že při slučování změn vzniknou konflikty. Konflikty v Gitu znamenají, že Git neumí automaticky spojit dvě verze souboru a vyžaduje manuální zásah. V tomto článku si ukážeme, proč vznikají konflikty, jak je řešit a jak jim předcházet.
Konflikt v Gitě nastává, když dvě různé větve obsahují změny ve stejném souboru na stejném řádku. Git nedokáže rozhodnout, která verze je správná, a vyžaduje manuální řešení.
Nejčastější důvody konfliktu:
Pokus se pokusíte sloučit větev pomocí příkazu:
Git může zobrazit chybové hlášení:
To znamená, že v souboru soubor.txt
vznikl konflikt.
Chcete-li vidět seznam souborů s konflikty, použijte příkaz:
Výstup může vypadat takto:
V problematickém souboru Git označí konfliktní části takto:
Vaším úkolem je vybrat správnou verzi, nebo je manuálně sloučit:
Po vyřešení konfliktů přidejte soubor do Gitu:
Poté dokončete merge příkazem:
Zkontrolujte stav repozitáře:
Pokud už Git nehlásí žádné konflikty, merge byl úspěšně dokončen.
Konflikty v Gitě jsou běžné, ale existují způsoby, jak je minimalizovat:
git pull
.git diff
.Chcete-li zrušit vyřešení konfliktu a vrátit se zpět, použijte:
Během rebase může Git požádat o manuální řešení konfliktů podobně jako u merge.
V některých případech můžete použít:
nebo
Tyto příkazy vyberou konkrétní verzi kódu bez manuálního zásahu.
git stash
nebo commit.Máte-li zájem o prezenční nebo online školení programování, podívejte se na naši nabídku na www.like-it.sk. Naše kurzy vedou zkušení odborníci, kteří vás naučí programovat od základů až po pokročilé techniky.
Viac informacií preberáme na kurze: