±à¼ÍƼö: |
±¾ÎÄÀ´×Ôsegmentfault£¬½éÉÜÁ˵±Ç°ÏµÍ³Ö§³ÖµÄmerge²å¼þ£¬difftool
/ mergetool ÅäÖõȡ£ |
|
1.²é¿´µ±Ç°ÏµÍ³Ö§³ÖµÄmerge²å¼þ
git difftool
--tool-help
git mergetool --tool-help |
ͨ¹ýÉÏÃæµÄÃüÁî¿ÉÒԲ鿴µ±Ç°ÏµÍ³¿ÉÒÔʹÓõĺÍÖ§³ÖµÄ git diff »ò git merge ²å¼þ£¬ÔËÐнá¹ûÈçͼ£¬gitÌṩÁ˶ԶàÖֱȽϹ¤¾ßµÄÖ§³Ö

ÆäÖÐ bc3 ¼´¶ÔÓ¦ Beyond Compare °æ±¾3¡¢4
2.difftool / mergetool ÅäÖÃ
ÒÀÀµ
macox ÐèÒª°²×° bc µÄÃüÁîÐй¤¾ß£¨ÔÚ bc ²Ëµ¥ÖÐÔËÐÐ Install Command Line
Tools ¼´¿É£©
ÅäÖÃ
macox
difftool
git config --global
diff.tool bc3 |
mergetool
git config --global
merge.tool bc3 //½«bcÉèÖÃΪĬÈÏmergetool
git config --global mergetool.bc3 trustExitCode
true //ÉèÖÃÍ˳öbcʱÍê³Émerge |
windows
difftool
git config --global
diff.tool bc3
git config --global difftool.bc3.path "bcomp.exeµÄ·¾¶"
|
mergetool
git config --global
merge.tool bc3
git config --global mergetool.bc3.path "bcomp.exeµÄ·¾¶"
|
3.ʹÓÃ
Ìá½» commit ºóÖ´ÐÐ git merge ÈçÎÞ³åÍ»¼´×Ô¶¯ºÏ²¢£¬Èç¹ûºÏ²¢Á½¸ö·ÖÖ§²úÉú³åÍ»ÎÞ·¨×Ô¶¯Íê³É
merge ʱ£¨Èçͼ£©¼´¿ÉʹÓà git mergetool£¨Ç°ÃæÉèÖÃÁË bc ΪĬÈÏ mergetool
£©µ÷Æð Beyond Compare £¨ÈçÐèÔËÐÐÆäËü±È½Ï¹¤¾ß Ö´ÐÐ git mergetool ¨Ctool=¹¤¾ßÃû
¼´¿É ÀýÈç git mergetool ¨Ctool=opendiff £©

Óжà¸öÎļþµÄ»°»áÒÀ´Î´ò¿ª£¬ËæºóʹÓÃBeyond Compare½øÐÐÎļþµÄmerge±£´æ¼´¿É£¨Èçͼ£©

ÆäÖе±Ç°ËùÔÚ·ÖÖ§»á×÷Ϊlocal£¨×ó²à£©£¬mergeµÄ·ÖÖ§»á×÷Ϊremote£¨ÓҲࣩ
difftool µÄʹÓÃÓë mergetool ÀàËÆ ÔÚ commit Ö®ºó ÔËÐÐ git difftool
»òÕß git difftool+ÎļþÃû ¼È¿Éµ÷Æð Beyond Compare À´²é¿´ diff µÄ·ÖÎö½á¹û
²¹³ä£º
windows Èç¹û³öÏÖËäÈ»°²×°ÁËbc µ«ÊÇ×÷Ϊ mergetool ²»¿ÉÓõÄÇé¿ö ¿ÉÒÔͨ¹ýÐÞ¸ÄÓû§Ä¿Â¼ÏµÄ
gitconfig ×·¼Ó difftool ºÍ mergetool µÄÅäÖÃ
ÄÚÈÝÈçÏ£¬mergetool µÄÃû×Ö¿ÉÒÔ×Ô¶¨£¬Â·¾¶ÐÞ¸ÄΪ±¾µØ bcomp.exe
µÄ·¾¶¼´¿É
[diff]
tool = bc4
[difftool "bc4"]
cmd = \"c:/program files (x86) /beyond compare
4/ bcomp.exe\" \"$LOCAL\" \"$REMOTE\"
[merge]
tool = bc4
[mergetool "bc4"]
cmd = \"c:/program files (x86)/beyond compare
4/bcomp.exe\" \"$LOCAL\" \"$REMOTE\"
\"$BASE\" \"$MERGED\"
trustExitCode = true |
|