当前位置: 首页 > news >正文

git代码冲突处理软件P4Merge

文章目录

    • 1. 下载安装
    • 2. 配置脚本
    • 参考链接

1. 下载安装

下载地址:https://www.perforce.com/downloads/helix-visual-client-p4v
下载教程:http://blog.csdn.net/wirelessqa/article/details/9035215
这里下载之前需要注册。

2. 配置脚本

编写一个全局包装脚本来运行你的命令。 我们会使用 Mac 上的路径来指定该脚本的位置,在其他系统上,它将是 p4merge 二进制文件所在的目录。 创建一个名为 extMerge 的脚本包装 merge 命令,让它把参数转发给 p4merge 二进制文件:

$ cat /usr/local/bin/extMerge
#!/bin/sh
/Applications/p4merge.app/Contents/MacOS/p4merge $*

创建一个extDiff的脚本:

$ cat /usr/local/bin/extDiff
#!/bin/sh
[ $# -eq 7 ] && /usr/local/bin/extMerge "$2" "$5"

确保这些脚本具有可执行权限:

$ sudo chmod +x /usr/local/bin/extMerge
$ sudo chmod +x /usr/local/bin/extDiff

配置git命令支持这个软件:

$ git config --global merge.tool extMerge
# 下面的参考链接里面这部分有误,照这个做
$ git config --global mergetool.extMerge.cmd 'extMerge "$BASE" "$LOCAL" "$REMOTE" "$MERGED"'
$ git config --global mergetool.extMerge.trustExitCode false
$ git config --global diff.external extDiff

或编辑你的 ~/.gitconfig 文件,添加以下各行:

# 上面终端命令跟下面的做法是一样的
[merge]tool = extMerge
[mergetool "extMerge"]cmd = extMerge "$BASE" "$LOCAL" "$REMOTE" "$MERGED"trustExitCode = false
[diff]external = extDiff

待一切设置妥当后,如果你像这样运行 diff 命令git diff 32d1776b1^ 32d1776b1 Git 将启动 P4Merge,而不是在命令行输出比较的结果.
如果你尝试合并两个分支,随后遇到了合并冲突,运行 git mergetool,Git 会调用 P4Merge 让你通过图形界面来解决冲突。

参考链接

git-book: https://git-scm.com/book/zh/v2/自定义-Git-配置-Git

csdn: http://blog.csdn.net/ccf0703/article/details/7661789

http://www.lryc.cn/news/364820.html

相关文章:

  • Unity物体材质属性Offset动态偏移
  • 【数据结构】筛选法建堆
  • DevExpress Installed
  • 解决QT QMessageBox 弹出需点击两次才能关闭问题
  • Milvus--向量数据库
  • php质量工具系列之PHPCPD
  • Android14 WMS-窗口绘制之relayoutWindow流程(二)-Server端
  • 安全测试 之 安全漏洞:SQL注入
  • CUDA和驱动版本之间的对应关系
  • MDK(μVsion3)问题总结及解决方法
  • 手眼标定学习笔记
  • Dell戴尔XPS 16 9640 Intel酷睿Ultra9处理器笔记本电脑原装出厂Windows11系统包,恢复原厂开箱状态oem预装系统
  • 【第8章】SpringBoot实战篇之文章分类(上)
  • 【QT】Qt Plugin开发
  • 快速了解GPU分布通信技术:PCIe、NVLink与NVSwitch
  • Python对获取数据的举例说明
  • JVMの垃圾回收
  • 人工智能就业方向有哪些?
  • 自定义类型:枚举和联合体
  • 负载均衡加权轮询算法
  • PyTorch 相关知识介绍
  • 1千2初中英语语法题库ACCESS\EXCEL数据库
  • 高德面试:为什么Map不能插入null?
  • MySQL数据库主从配置
  • 测试工程师经常使用的Python中的库,以及对应常用的函数
  • 【frp】服务端配置与systemd启动
  • 计算机网络学习实践:模拟RIP动态路由
  • 详解 Flink 的常见部署方式
  • 【UE5.1 角色练习】11-坐骑——Part1(控制大象移动)
  • 数据结构严蔚敏版精简版-线性表以及c语言代码实现