Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
p4merge和Git 1.8.3_Git_Mergetool_P4merge - Fatal编程技术网

p4merge和Git 1.8.3

p4merge和Git 1.8.3,git,mergetool,p4merge,Git,Mergetool,P4merge,如何将git配置为使用p4merge作为我的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 merg

如何将
git
配置为使用
p4merge
作为我的
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.
这篇文章对我有用

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

要运行“git difftool”或“git mergetool”,需要注意一点 您必须首先运行“git diff”或“git merge”,然后才能有所不同 或冲突。然后,编辑器将启动并准备好正确的文件 用于编辑


我刚刚发布了一篇文章,解释了如何将Git与P4Merge集成,以及一个可以消除一些差异的启动脚本:

要在Linux机器(Ubuntu 16.04)上安装
P4Merge
,并将其设置为
Git
difftool
,我做了以下几点:

  • 转到Performce网站的,在搜索栏中写:
    p4merge

  • 选择p4merge for Linux平台并下载它(请注意,您可以跳过注册)

  • 下载后,将其解压缩并将文件夹内容复制到新文件夹
    /opt/p4merge

    a)
    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

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

  • 将以下命令添加到
    git
    的“全局配置设置”中,以便
    p4merge
    将用作
    git
    difftool
    &
    mergetool

    git config--global merge.tool p4merge git config--全局mergetool.p4merge.path/usr/local/bin/p4merge git config--全局合并工具.prompt false

    git config——全局差异工具p4merge
    git config--全局difftool.p4merge.path/usr/local/bin/p4merge
    git config--全局difftool.prompt false

  • 为了查看差异(例如,在工作目录和临时区域之间),现在可以使用命令:
    gitdifftool
    ,该命令将打开要使用的p4merge GUI


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

    向您展示了如何执行此操作。我以前尝试过此操作。在尝试了之前的几个演示示例后,它导致了我的问题。这是最适合我的示例。
    [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