Slovník / pojem

Merge (sloučení)

Spojení změn ze dvou větví v Gitu dohromady tak, aby výsledek obsahoval práci z obou.

// pro běžného uživatele

Srozumitelně

Merge je sloučení dvou větví do jedné. Když dokončíte práci ve vedlejší větvi, mergem ji vrátíte zpět do hlavní verze — a ta pak obsahuje i vaše nové změny. Git se přitom snaží obě strany spojit sám.

Někdy si ale změny odporují, protože se upravoval stejný řádek na dvou místech. Tomu se říká konflikt a musí ho vyřešit člověk — rozhodne, která verze platí. Po vyřešení konfliktu je sloučení hotové.
// pro pokročilé

Do hloubky

Merge spojuje historii dvou větví. Pokud cílová větev nemá vlastní nové commity, proběhne fast-forward — ukazatel se jen posune vpřed bez nového commitu. Jinak vzniká merge commit se dvěma rodiči, který zachovává obě linie historie. Konflikt nastane, když se stejná část souboru změnila na obou stranách; Git ho označí a vyžaduje ruční rozhodnutí. Alternativou je rebase, který historii přeskládá do lineární podoby místo merge commitu. Volba mezi merge a rebase je otázkou týmové konvence a čitelnosti historie.

Potřebujete s tím pomoct v praxi? Postavím vám web nebo aplikaci na míru — a vysvětlím to lidsky.

Napište mi →