p4merge和Git 1.8.3
问题:p4merge与Git 1.8.3集成出现问题。
原因:p4merge与Git 1.8.3集成时存在一些差异。
解决方法:使用一个启动脚本来解决这些差异。
文章链接:http://pempek.net/articles/2014/04/18/git-p4merge/
作者在文章中介绍了如何将Git与P4Merge集成,并提供了一个启动脚本来解决一些差异。他尝试了几个之前的示例,发现这个示例对他来说效果最好。
问题的原因是在Git for Windows中使用P4Merge时,需要在全局的.gitconfig文件中添加相应的配置。解决方法就是按照上述文章中的步骤编辑.gitconfig文件,添加相应的配置。
具体的配置内容如下:
[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"命令,并且确保存在差异或冲突。这样编辑器才会启动,并准备好相应的文件供编辑。
通过以上步骤,就可以在Git for Windows中成功安装和使用P4Merge工具了。
问题出现的原因是执行了"git config"命令时,配置文件.gitconfig中的第一行存在错误。解决方法是修改.gitconfig文件,确保每一行的格式正确。
文章整理如下:
在Linux机器上(Ubuntu 16.04),安装p4merge并将其设置为git的difftool和mergetool,可以按照以下步骤进行操作:
1. 前往Perforce官网的下载页面(https://www.perforce.com/downloads),在搜索栏中输入p4merge,找到适用于Linux平台的p4merge并下载(可以跳过注册)。
2. 下载完成后,解压文件并将文件夹中的内容复制到新建的/opt/p4merge目录下。具体操作如下:
a) gunzip p4v.tgz
b) tar xvf p4v.tar
c) sudo mkdir /opt/p4merge
d) 假设文件下载到/home/guya/Downloads目录下,并且解压后的文件夹名为p4v-2019.1.1830398,则执行以下命令:
sudo mv /home/guya/Downloads/p4v-2019.1.1830398/* /opt/p4merge
3. 创建一个符号链接,链接到p4merge可执行文件,命令如下:
sudo ln -s /opt/p4merge/bin/p4merge /usr/local/bin/p4merge
4. 将以下命令添加到git的“全局配置设置”中,以便将p4merge用作git的difftool和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
5. 现在,可以使用git difftool命令来查看不同(例如,工作目录与暂存区之间的差异),该命令将打开p4merge的GUI界面供使用。
注意:使用git diff命令仍然可行,会在终端中显示差异。
如果在粘贴以上git config命令后,退出并尝试执行git difftool时出现"fatal: bad config line 1 in file .gitconfig"的错误,原因是.gitconfig文件的第一行格式错误。需要修改.gitconfig文件,确保每一行的格式正确。