gitmergetool
是如何工作的。我在做git merge的时候有冲突,现在我想摆脱这些合并冲突,我正在浏览SO以获得一些关于如何做的信息,有一个使用git mergetool的建议,我从来没有使用过git merge工具,但当我使用git merge工具时,我会为自己的文件获取一些本地,远程和备份文件,然后我会有一些类似的东西
#*merge*#30260IgX# #*merge*#48883jX#
字符串
这个文件(如果我可以这么说)意味着什么,我怎么能摆脱它,因为我不知道它是什么.我不想把这个提交给我的仓库,任何建议或工作,也将不胜感激,如果有人可以指出我使用git merge tool
适当的资源。
谢谢!
1条答案
按热度按时间ix0qys7i1#
“如何使用visual diff程序查看'git diff'输出?”
“An easier way to set up diff and merge tools for Git on Windows“
首先安装**KDiff3**。
它不是世界上最漂亮的GUI,但是一旦你习惯了它,它就非常有用,并且具有与Git自然工作的额外优势,而无需进行太多配置。
第二步,打开
.gitconfig
(在主目录C:\Users\(username)
或旧的Documents and Settings
路径下),并添加以下内容:字符串
现在所有对
git difftool
和git mergetool
的调用都默认为KDiff 3。这是所有你需要的是好去!
比那些 Package 纸简单多了。
你会发现一个good tutorial here(在优秀的**gitguru**):
git mergetool
git mergetool
命令允许将这些工具集成到合并过程中。在确定合并冲突后运行,它会循环遍历需要解决的文件,并为指定的工具提供调用三向合并所需的版本信息。git mergetool
已经包含了对许多开源和免费提供的合并工具的支持:kdiff 3、tkdiff、meld、xxdiff、emerge、vimdiff、gvimdiff、ecmerge和opendiff。如果存在命令行调用,则可以通过自定义配置设置添加对其他工具(包括DiffMerge和Araxis Merge)的支持:
型
使用了“
--global
“标志,因此该设置将应用于所有Git存储库。命令行需要接受以下作为参数传入的文件变量:
$LOCAL
-当前分支版本$REMOTE
-要合并的版本$BASE
-公共祖先$MERGED
-写入结果的文件git mergetool
将创建临时文件形式的版本,并在执行工具命令行之前适当地设置变量。如果工具在成功或不成功的合并后返回正确的退出代码,则
trustExitCode
设置可以设置为true。否则,请将其设置为false,这样您将收到提示,说明文件的合并冲突是否已解决。
执行冲突合并
使用mergetool进行合并的命令序列如下
型
可以通过merge.tool设置指定默认工具
型
这将允许您简单地调用
型
x1c 0d1x的数据