【问题标题】:p4merge and Git 1.8.3p4merge 和 Git 1.8.3
【发布时间】:2013-10-29 18:52:00
【问题描述】:

如何配置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.

【问题讨论】:

  • This answer 告诉你怎么做。
  • 我以前试过。它引起了我的问题

标签: git mergetool p4merge


【解决方案1】:

要在 Linux 机器 (Ubuntu 16.04) 上安装 p4merge 并将其设置为 gitdifftoolmergetool,我做了以下操作:

  1. 访问 Perforce 网站的Downloads page,在搜索栏中输入:p4merge

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

  3. 下载后解压并将文件夹内容复制到新文件夹/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

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

  5. 将以下命令添加到git 的“全局配置设置”,以便p4merge 将用作gitdifftoolmergetool

    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 仍然有效,并将在终端中显示差异。

【讨论】:

    【解决方案2】:

    文章Installing and Using P4Merge in Git for Windows 对我有用。

    编辑您的全局 .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”并有所不同 或冲突。然后编辑器将启动并准备好正确的文件 用于编辑。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 在尝试了几个之前的演示示例之后,这是最适合我的示例。
      猜你喜欢
      • 2010-10-26
      • 2015-11-16
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      • 2013-05-23
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多