Ik gebruik (Windows) SourceTree voor mijn git-project. Ik kan het zowel in de opdrachtprompt als in de Linux-terminal doen.
Maar ik vraag me af of er een leuke manier is om interactief en visueel conflicten op te lossen. Als pull bijvoorbeeld conflicten detecteert, verschijnt er een op GUI gebaseerde conflicttool (bijv. P4Merge). Is het mogelijk?
Ik ben altijd bezig met het handmatig oplossen van conflicten, wat gewoon pijnlijk is.
Dit is bijvoorbeeld een git pull
bericht, van SourceTree.
git -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit origin master
From W:\repo\
* branch master -> FETCH_HEAD
Updating 33c07bf..41e0249
error: Your local changes to the following files would be overwritten by merge:
foo.cpp
goo.cpp
goo.hpp
Please, commit your changes or stash them before you can merge.
Aborting
Completed with errors, see above.
Antwoord 1, autoriteit 100%
Klik in SourceTree op Extra->Opties. Zorg er dan op het tabblad “Algemeen” voor dat u het vakje aanvinkt om SourceTree toe te staan uw Git-configuratiebestanden te wijzigen.
Schakel vervolgens over naar het tabblad ‘Verschil’. Gebruik in de onderste helft de vervolgkeuzelijst om het externe programma te selecteren dat u wilt gebruiken om de diffs en het samenvoegen te doen. Ik heb KDiff3geïnstalleerd en vind het goed genoeg. Als je klaar bent, klik je op OK.
Als er nu een merge is, kun je naar Actions->Conflicten oplossen->Launch External Merge Tool gaan.
Antwoord 2, autoriteit 8%
Ik gebruik SourceTree samen met TortoiseMerge/Diff, wat een zeer gemakkelijke en handige diff/merge-tool is.
Als je het ook wilt gebruiken, doe dan:
-
Krijg een stand-alone versie van Tortoisemerge / DIFF (vrij oud, omdat het niet zelfstandige verzendt sinds versie 1.6.7 van Tortosiesvn, dat is sinds juli 2011). Links en details in dit antwoord .
-
Unzip
TortoiseIDiff.exe
enTortoiseMerge.exe
Naar elke map (c:\Program Files (x86)\Atlassian\SourceTree\extras\
in mijn geval). -
In Sourcetree Open
Tools > Options > Diff > External Diff / Merge
. SelecteerTortoiseMerge
in beide vervolgkeuzelijsten. -
HIT
OK
EN POINT SOURCETREE NAAR JE LOCATION VANTortoiseIDiff.exe
ENTortoiseMerge.exe
.
Hierna kunt u Resolve Conflicts > Launch External Merge Tool
vanuit contextmenu op elk conflicterend bestand in uw lokale repository. Dit zal Tortoisemerge openen, waar u gemakkelijk kunt omgaan met alle conflicten, u hebt. Eenmaal voltooid, sluit Simply Tortoisemerge (u hoeft niet eens wijzigingen op te slaan, dit zal waarschijnlijk automatisch worden gedaan) en na enkele seconden sourcetree moet dat gracieus aansluiten.
Het enige probleem is dat het automatisch een back-upkopie maakt, hoewel juiste optie is uitgeschakeld .
Antwoord 3, Autoriteit 3%
Wanneer het menu van conflicten-en-GT; inhoud is uitgeschakeld, staat u mogelijk op de lijst met in afwachting van bestanden. We moeten de optie Conflicted Files selecteren in de vervolgkeuzelijst (boven)
Ik hoop dat het helpt