< Git

Összefésülés

Szerző: Sallai András

Copyright © 2020, Sallai András

Szerkesztve: 2020, 2021, 2023, 2024

Licenc: CC BY-SA 4.0

Web: https://szit.hu

A merge

Összefésülés után a master ág kisimul, tiszta lesz, úgynevezett fast forward merge történik, alapértelmezetten. A devel1 ágnak nyoma sincs ilyen formában.

Ha szeretnénk, hogy megmaradjon az ág, vagyis a fast forwardot szeretnénk elkerülni, akkor használjuk a --no-ff kapcsolót.

git merge --no-ff devel1

A rebase

A összefésülés megoldható a rebase paranccsal is, de csak abban az esetben, ha mások nem fejlesztenek erre az ágra.

git rebase devel1

Konfliktuskezelő beállítása

A konfliktusok kezelhetők szimpla szövegszerkesztőben is. A kódfejlesztők, mint a VSCode is biztosítanak konfliktuskezelést. De telepíthetünk kifejezetten erre a célra létrehozott szoftvert is, mint a Meld.

Telepítsünk Meld konfliktuskezelőt:

choco install meld

Vagy a Vimdiff:

choco install vim

A Meld beállítása:

git config merge.tool meld

Vagy a vimdiff beállítása:

git config merge.tool vimdiff

A megjelenítés stílusának beállítása:

git config merge.conflictstyle diff3

A konfliktuskezelő előtt a prompt megjelenítése:

git config mergetool.prompt false

Első összefésülés

Első alkalommal választanunk kell az összefésülés módjai közül:

hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint: git config pull.rebase false # merge
hint: git config pull.rebase true # rebase
hint: git config pull.ff only # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
fatal: Need to specify how to reconcile divergent branches.

Az első az ajánlott:

git config pull.rebase false # merge

Lásd még

https://www.freecodecamp.org/news/compare-two-files-in-linux-using-vim/

https://www.tutorialspoint.com/vim/vim_diff.htm