首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用p4merge作为git工具

使用p4merge作为git工具
EN

Stack Overflow用户
提问于 2015-08-22 04:51:15
回答 3查看 14.6K关注 0票数 12

我用windows 7。我想使用p4merge作为Git /merge工具。我遵循这篇文章这一个设置和配置p4merge

代码语言:javascript
复制
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

代码语言:javascript
复制
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 bash命令时,我希望使用p4merge,但我看到了在git bash中diff的内部实现。

我试过光滑Git + P4merge,但它对我不起作用,我也试着像外部合并和差异工具中描述的那样做,但我不明白。

注:

当冲突类型为removed file conflict时,git difftool命令将打开p4merge

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-19 05:08:27

不确定是否有帮助,但最近版本的Git支持P4Merge (我通过MSYS2在Windows上使用git version 2.17.0. )。

通过运行git difftool --tool-help,您可以判断是否存在这种情况。它将列出Git可以使用的可用工具(因为它们已经在您的%PATH%中找到了)和它可以使用的工具(如果它们已经安装)。

如果p4merge在这个列表中,那么您只需要将p4merge.exe驻留的路径添加到您的%PATH% (在%PATH%上,我建议使用快速环境编辑器 )。

完成此操作后,只需在.gitconfig中设置以下配置即可

代码语言:javascript
复制
[diff]
    tool = p4merge
[merge]
    tool = p4merge

没别的事了。因此,删除其他东西,如difftool.path和所有这些。

然后,只需使用git difftoolgit mergetool来满足您的内心需求。

Note:我有一个存储库,即使我发出了git difftoolgit mergetool命令,P4Merge也不会启动。我不知道那次回购有什么问题。但是,我尝试在我的驱动器上使用git init创建一个空的回购,添加一个文件,提交它,然后修改它,然后我尝试了difftool,它成功了。所以,如果上面的描述不适用于你,那么问题就在别的地方。希望这能有所帮助。

票数 15
EN

Stack Overflow用户

发布于 2016-06-15 13:50:15

迟到总比没有好:)

mergetool.p4merge.path应该是mergetool.p4merge.cmd

将合并工具和扩散工具行的路径更改为cmd。

票数 2
EN

Stack Overflow用户

发布于 2021-10-18 23:16:18

如果您在Mac上,请不要忘记在应用程序之前添加/,如下所示:

代码语言:javascript
复制
[mergetool "p4merge"]
    path = /Applications/p4merge.app/Contents/MacOS/p4merge

这就是为什么当我跑到下面的时候,P4Merge不肯给我开门的原因:

代码语言:javascript
复制
git mergetool
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32152446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档