我使用 windows 7
。我想将 p4merge
用作 Git 差异/合并工具。我按照 这篇文章 和 这篇文章 来设置和配置 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=p4diff
替换为diff.tool=p4merge
。 - topheman/
代替\\
作为分隔符或许可以解决这个问题... - Philippegit difftool --staged
成功地与P4Merge一起处理了已更改的文件一段时间。但是有一件事情让我很烦恼:当添加文件时出现错误消息。p4merge需要文件进行比较。有没有办法省略添加的文件?你是如何解决这个问题的? - Michael S.