9

如何配置gitp4merge我的mergetool

接下来是我现在的情况:

$ git --version
git version 1.8.3.msysgit.0

$ git mergetool

This message is displayed because 'merge.tool' is not configured.
See 'git mergetool --tool-help' or 'git help config' for more details.
'git mergetool' will now attempt to use one of the following tools:
tortoisemerge emerge vimdiff
No known merge tool is available.
4

3 回答 3

19

要在 Linux 机器(Ubuntu 16.04 )上安装p4merge并将其设置为git's difftool& ,我执行了以下操作:mergetool

  1. 转到 Perforce 网站的下载页面,然后在搜索栏中输入:p4merge.

  2. 选择 Linux 平台的 p4merge 并下载(注意可以跳过注册)。

  3. 下载后解压缩并将文件夹的内容复制到新文件夹/opt/p4merge

    一个)gunzip p4v.tgz

    b)tar xvf p4v.tar

    C)sudo mkdir /opt/p4merge

    d)我已经将它下载到/home/guya/Downloads并且“提取的” p4merge 文件夹是 (08/19) p4v-2019.1.1830398,所以在我的例子中,命令是:

    sudo mv /home/guya/Downloads/p4v-2019.1.1830398/* /opt/p4merge

  4. 使用以下命令创建指向p4merge可执行文件的符号链接:sudo ln -s /opt/p4merge/bin/p4merge /usr/local/bin/p4merge

  5. 将以下命令添加到git的“全局配置设置”中,以便p4merge同时用作gitdifftool& mergetool

    git config --global merge.tool p4merge git config --global mergetool.p4merge.path /usr/local/bin/p4merge git config --global mergetool.prompt false

    git config --global diff.tool p4merge git config --global difftool.p4merge.path /usr/local/bin/p4merge git config --global difftool.prompt false

  6. 为了查看差异(例如,在工作目录和暂存区域之间),您现在可以使用命令:git difftool这将打开要使用的 p4merge GUI。

注意:git diff仍然可以工作,并将在终端中显示差异。

于 2019-08-24T09:12:18.510 回答
3

文章在 Git for Windows 中安装和使用 P4Merge对我有用。

编辑您的全局 .gitconfig 并添加以下部分(您不必担心 p4merge.exe 的位置,它在安装过程中已添加到您的路径中):

[diff]
    tool = p4merge
[difftool "p4merge"]
    cmd = "p4merge.exe $LOCAL $REMOTE"
[merge]
    tool = p4merge
[mergetool "p4merge"]
    cmd = "p4merge.exe $BASE $LOCAl $REMOTE $MERGED"
    trustExitCode = true
    keepTemporaries = false
    keepBackup = false
    prompt = false

有一个警告,为了运行“git difftool”或“git mergetool”,你必须先运行“git diff”或“git merge”并且有差异或冲突。然后编辑器将启动并准备好正确的文件编辑。

于 2013-10-21T10:47:03.760 回答
1

我刚刚发布了一篇文章,解释了如何将 Git 与 P4Merge 集成以及消除一些差异的启动器脚本:http: //pempek.net/articles/2014/04/18/git-p4merge/

于 2014-04-19T08:25:21.520 回答