【发布时间】:2015-11-16 02:44:42
【问题描述】:
我使用windows 7。我想使用p4merge 作为 Git diff/merge 工具。我关注this article 和this one 来设置和配置p4merge:
git config --global merge.tool p4merge
git config --global mergetool.p4merge.path "C:/Program Files/Perforce/p4merge.exe"
git config --global diff.tool p4merge
git config --global difftool.p4merge.path "C:/Program Files/Perforce/p4merge.exe"
这些行来自git config:
merge.tool=p4merge
mergetool.p4merge.path=C:/Program Files/Perforce/p4merge.exe
diff.tool=p4merge
difftool.p4merge.path=C:/Program Files/Perforce/p4merge.exe
mergetool.keeptemporaries=false
mergetool.prompt=false
现在git mergetool 命令工作正常。但是当我在git bash 中使用git difftool 命令时,我期望p4merge 但我在git bash 中看到了diff 的内部实现。
我尝试了Smooth Git + P4merge,但它对我不起作用,我也尝试按照External Merge and Diff Tools 中的描述进行操作,但我不明白。
注意:
当冲突类型为removed file conflict 时,git difftool 命令打开p4merge。
【问题讨论】:
-
用
diff.tool=p4merge替换diff.tool=p4diff -
@topheman 请看我的编辑。
-
使用
/代替`\`作为分隔符或许可以解决问题... -
@Philippe 我试过了,但没有解决问题。我编辑问题,请再看一遍。
-
我也使用了instructions,并成功使用 P4Merge 处理更改的文件,因为使用
git difftool --staged已经有一段时间了。有一件事让我很恼火:添加文件时的错误消息。 p4merge 想要比较文件。有没有办法省略添加的文件?你是怎么解决这个问题的?
标签: git bash version-control windows-7 p4merge