Git使用mergetool处理合并冲突

时间:2022-06-01 16:53:36

Git做合并时难免会发生冲突,发生冲突我们可以使用git的mergetool来处理。

在使用mergetool前需要先了解下Git用于处理冲突的几个概念:

  • LOCAL - 本机在当前分支下文件的head
  • REMOTE - 在远程将要合并到LOCAL当前分支的head
  • BASE - the common ancestor(s) of LOCAL and BASE.
  • MERGED - 合并后的head对象

设置mergetool所使用的编辑器

调用mergetool会打开一个用于处理冲突的GUI编辑工具,可以使用git config来设置mergetool使用的编辑器

$ git config merge.tool vimdiff 

查看mergetool支持的编辑器

$ git mergetool --tool-help

这些编辑分为两种:命令行编辑器和GUI编辑器。

命令行编辑器

基于Vimvimdiff

GUI编辑器

tortoisemerge

使用mergetool

$git mergetool