(conflict)
Það er óhjákvæmilegt í hópverkavinnu að upp komi sú staða að tvær útgáfur séu til af sama skjali. Git kemur í veg fyrir að skjöl séu yfirrituð og sýnir þess í stað ósamræmið sem er í kóða og eða texta. Til að forðast árekstra þá er það góð vinnubrögð að byrja vinnudaginn á því að tjékka hvort (local) heimaútgáfan sé ekki með síðustu útgáfu verksins með skipuninni $ git pull
af GitHub geymslunni, ef allt er í lagi kemur m.a. eftirfarandi skilaboð working tree is clear, nothing to commit
Ef sú staða kemur upp að tvær útgáfur eru til af sama skjali, þá sýnir git báðar útgáfurnar í Git Bash. Til að lagafæra skjölin þarf að sækja útgáfuna sem er á github $ git pull
síðan bæta henni við local útgáfuna git add .
og tilgreina vandræðin $ git commit -m 'ágreiningur í texta'
þá erum við með báðar útgáfurnar heima og getum lagfært skjalið.
<<<<<<< HEAD
### Dæmi
í vinnslu .... þessi local útgáfa er gömul og lúinn .. :cry:
=======
### Dæmi
í vinnslu .... Hér set ég texta beint í GitHub geymsluna vitandi að þessi texti
er ekki í (local) geymslunni. ;)
Hér finnur git að ekki er allt með feldu og sýnir báðar útgáfurnar.
>>>>>>> 4849c518d18d8ea59b65bd063bd8d9e96bc04830
það er hægt að eyða annari hvorri útgáfunni eða búa til nýja sameiginlega leiðréttingu. Þegar því er lokið þá er skjalið uppfært í Git, $ git add .
og $ git commit -m 'ágreiningur lagfærður'
síðan $ git push
.
Git Bash ritþór (editor) fyrir villuskilaboð
Hægt er að skipta um ritþór og nota Sublime ritþórinn í staðinn fyrir VIM (default editor) skráið eftifarandi kóða í “Git Bash”.
git config --global core.editor "'c:/program files/sublime text 3/subl.exe' -w"
:collision: - Ef ekki er hægt að leysa ágreining með einföldum hætti þá er hægt að stöðva Git vinnsluna
Ýtið á ESC og skrifið :q! ýtið síðan á ENTER.
.. eða eins og Linus sagði eitt sinn þegar hann reyndi að útskýra hvað GIT stæði fyrir:
“Goddamn Idiotic Truckload of :shit: when it breaks”