deepwzh的技术笔记
  • Golang
  • Python
  • Cpp
杂项
前端开发
  • 计算机网络
  • 操作系统
  • 数据库
云原生
Devops
AIGC
关于作者
  • Golang
  • Python
  • Cpp
杂项
前端开发
  • 计算机网络
  • 操作系统
  • 数据库
云原生
Devops
AIGC
关于作者
  • 杂项
  • Windows UI 自动化方案调研 (2026)v2
  • Nginx
  • 首页
  • Protobuf
  • 学习资料
  • 杂项
  • Ldap
  • 编译原理
  • 分布式

    • 分布式
    • Raft 算法
  • 开发工具

    • 开发工具
    • cloc
    • Vscode
    • 工具箱
    • Visual Studio

      • Visual Studio
      • C++ 相关
      • Visual Studio 基本知识
  • 软件设计

    • 软件设计
    • MVC
    • 领域驱动设计
    • PO、DO、DTO、VO
    • 高内聚低耦合
  • 消息队列

    • 消息队列
    • Celery
    • Kafka
    • RabbitMQ
  • 设计模式

    • 设计模式
    • 控制反转和依赖注入
    • 七大原则
  • 网络安全

    • 网络安全
    • 请求签名
    • CSRF
    • XSS
  • 版本管理工具

    • 版本管理工具
    • Git

      • Git
      • Git get 私有仓库报错
      • Github 加速
      • Clone
      • Git pull 出现 hint 时的解决方案
      • 修改提交记录的作者信息
      • Git mergr
  • 组成原理

    • 组成原理
    • CPU

Git mergr

以下是根据官方文档整理的 git merge 核心笔记,包含常用选项说明及实用示例:


git merge 核心功能

将指定分支的提交历史合并到当前分支,生成新的合并提交(默认行为)。

基础工作流

# 将 topic 分支合并到当前分支(如 main)
git merge topic

合并图示​:

A---B---C topic  
         /         \  
D---E---F---G-------H main(合并后)

核心选项说明与示例

  1. 合并控制
  2. 合并策略以及选项

策略使用-s 控制:

git merge -s ort dev

  • ort(默认)
  • ours (强行使用当前分支代码, 丢弃目标分支代码)

对于 ort 策略,有如下选项

  1. 提交信息
  2. 特殊场景

冲突处理关键步骤

  1. 识别冲突文件​:冲突标记格式
<<<<<<< HEAD     # 当前分支代码
当前分支修改内容
=======          # 分隔符
目标分支修改内容
>>>>>>> topic    # 目标分支名
  1. 解决冲突​:

    • 手动编辑文件删除标记
    • 使用工具:git mergetool(需配置)
  2. 完成合并​:

git add resolved-file.txt
git merge --continue

常用配置项

# ~/.gitconfig
[merge]
  conflictStyle = diff3   # 冲突显示祖先版本(默认merge)
  ff = false              # 禁止快进(总是生成合并提交)
  renames = true          # 开启重命名检测(默认开启)

典型场景示例

  1. 安全合并(检查后再提交)
git merge feature --no-commit  # 合并但不提交
git diff                       # 检查变化
git commit -m "Merge feature"  # 确认后提交
  1. 强制保留当前分支代码
# 合并 dev 分支,冲突时使用当前分支版本
git merge -X ours dev
  1. 合并无关联历史的分支
git remote add other-project /path/to/repo
git fetch other-project
git merge other-project/main --allow-unrelated-histories

⚠️ 警告​:合并前务必提交或贮藏修改!未提交的变更可能导致 --abort 无法完全恢复状态。

Prev
修改提交记录的作者信息