SVN客户端的版本比较,我仔细研究了一下它的实现:根据选择的版本号,下载该版本号以及当前本地版本号的二个资源文件,存放于一个临时文件夹中,然后调用用TortoiseMerge,传入二个文件的路径,即可进行比较了 svn diff 命令仅仅是在DOS窗口里输出,没有GUI界面那么直观,TortoiseMerge工具弥补了这一点,当然还有其它例如:WinMerge也有类似的功能。 x.xml >svn export -r verNum https://xx.xml d:\xx.xml (svn export –r num url path) 导出功能实现了,比较工具就很容易了 >TortoiseMerge /base:"D:\x.xml" /theirs:"d:\xx.xml" 【参考】: svn export -导出 svn status TortoiseMerge-1.6.6-en.pdf
upstream https://upstream-repo-url git fetch upstream git merge upstream/master 如何通过 TortoiseSVN 带的 TortoiseMerge.exe 将 TortoiseMerge.exe 所在路径添加到 path 环境变量。 运行命令 git config --global merge.tool tortoisemerge 将 TortoiseMerge.exe 设置为默认的 merge tool。 在产生 conflict 的目录运行 git mergetool,TortoiseMerge.exe 会跳出来供你 resolve conflict。
三、[问] TortoiseMerge 是个单独的软件吗? 简短回答:不是独立发售的 “单独软件”,但有独立可执行文件。 说明: TortoiseMerge 是 TortoiseSVN 自带的可视化差异 / 合并工具,官方没有单独的安装包。 安装 TortoiseSVN(Windows)后就会得到 TortoiseMerge.exe,可单独运行使用,不需要配置 SVN 仓库。 用 Git 的话,更常见的是安装 TortoiseGit,它自带 TortoiseGitMerge(界面与用法与 TortoiseMerge 非常相近),同样可单独使用,也可配置为 Git 的 difftool TortoiseGitMerge/TortoiseMerge 直接用它打开该文件(带冲突标记的文件)。
分支没有与当前分支合并过,用-d删除会返回错误,可以用-D强制删除 git status 可以查看哪些合并合并时发生了突出 git mergetool 调用一个可视化的合并工具,//在我的机器上会调用TortoiseMerge
git mergetool' will now attempt to use one of the following tools: opendiff kdiff3 tkdiff xxdiff meld tortoisemerge
git mergetool' will now attempt to use one of the following tools: opendiff kdiff3 tkdiff xxdiff meld tortoisemerge
diffmerge diffuse ecmerge kdiff3 meld tkdiff tortoisemerge
git mergetool' will now attempt to use one of the following tools: opendiff kdiff3 tkdiff xxdiff meld tortoisemerge
找到后更改配置用compare(推荐TortoiseMerge) 来进行前后对比,发现相应修改的地方。
有效值包括emerge,gvimdiff,kdiff3,meld,vimdiff和tortoisemerge。
broken WinVDIG 1.0.5 git-flow-dependencies 0.2 - Possibly broken VisualStudio2012WDX 11.0 [Approved] tortoisemerge
guiffy gvimdiff gvimdiff2 gvimdiff3 kdiff3 合并 了 opendiff p4merge tkdiff 如果 TortoiseMerge
有效值包括 emerge,gvimdiff,kdiff3,meld,vimdiff 和 tortoisemerge。
guiffy gvimdiff gvimdiff2 gvimdiff3 kdiff3 meld opendiff p4merge tkdiff tortoisemerge