Git 学习笔记 - 合并

Git 学习笔记 - 合并

    • [一、 合并的核心逻辑](#一、 合并的核心逻辑)
    • [二、 合并选项列表详解](#二、 合并选项列表详解)
    • [三、 总结:如何选择?](#三、 总结:如何选择?)
合并窗口 参考原版(有点老)

当前窗口用于将 merge_20260410 分支合并到当前的 dev_jerry_kuafu

一、 合并的核心逻辑

在点击任何按钮之前,必须明确 Git 合并的三个底层逻辑,这能避免 90% 的误操作:

  1. 方向性 :合并操作是将 从 合并进 当前 。在打开合并界面前,我们必须确保已经 Checkout(切换) 到了目标分支
    (例如:想把代码合入 main,就必须先站在 main 上)。
  2. 工作区状态 :强烈建议在工作区干净 (所有改动已提交或 Stash 暂存)的情况下执行合并。
    这样如果合并效果不理想,可以随时无损中止(Abort)。

二、 合并选项列表详解

选项名称 官方定义与功能 适用场景与建议
不勾选(默认快进) 如果满足 Fast-Forward(快进)条件则直接移动指针;否则创建一个 Merge Commit。 日常开发。多数情况下的首选,让 Git 自动判断最简单的合并路径。
并合 (Squash) 将源分支所有提交压缩成一个修改,但不保留源分支的 Parent 指针。 清理垃圾提交。如果在开发分支上有很多无意义的提交(如 "fix typo"),合入主干时勾选它,主干只会看到一个整洁的提交。
非 Fast Forward 即使可以简单移动指针,也强行创建一个新的合并提交记录。 功能上线/版本归档。能让 Git 图谱清晰地显示出"这里曾拉出一个分支,后来又并回来了",方便追溯完整功能。
不提交 合并完文件后停留在暂存区,不自动生成 Commit 记录。 二次检查。如果担心合并后逻辑有误,想在正式提交前先本地运行一下项目测试,勾选此项。
信息 自动从源分支抓取指定数量的提交说明填充到当前的合并注释框中。 文档自动化。当合并了很多小改动,懒得手动写合并总结时,用它来自动生成变更列表。
仅快进式 不能快进就直接报错。 同步上游。当只想纯粹拉取远程最新代码,不希望在本地产生复杂的交织线时使用。

Fast-Forward(快进) : 连个分支在同一条路径上,不存在冲突,只需要移动指针就能实现当前分支指向源分支的位置。
仅快进式 :当前分支从源分支出来,当前分支没有过任何提交,(但凡当前分支有提交,直接报错)。适合测试工程师使用。


三、 总结:如何选择?

为了保证项目的稳定性,建议遵循以下选择策略:

  1. 追求历史清晰度 :如果你希望在以后的 Log 图谱中能一眼看出哪个功能是哪天合并的,请养成勾选 No Fast Forward 的习惯。
  2. 追求主干整洁度 :如果是由于个人尝试性开发产生的零碎代码,建议使用 Squash,这能避免主干分支被几百个"测试"提交淹没。
  3. 规避风险 :如果你对合并后的代码信心不足,勾选 No Commit,在本地编译、跑一下 Lua 脚本确认无误后,再手动在 TortoiseGit 中点击 Commit。
  4. 遇到冲突 :切记 Local 是自己。在处理数值 Excel 导出的 Lua 文件冲突时,务必仔细比对,防止数值回滚。

小贴士 :合并完成后,务必养成看一眼 Git Log 视图的习惯,确认合并的"连线"符合你的预期。

相关推荐
Winlifes5 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
郑州光合科技余经理6 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123456 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s6 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git
玄芯散人7 天前
【筑基·058】Git协作工作流:冲突解决和PR流程
git·版本控制·团队协作
寺中人7 天前
Git 版本控制完全入门指南:从安装到实战,提交 + 分支 + 协作 + 冲突解决全拆解
git·开发工具·版本控制·团队协作·代码管理
荔枝梅梅7 天前
新手程序员 SSH 第一课:从 Git 仓库连接失败理解 SSH 协议与密钥配置
git
玄芯散人7 天前
【筑基·057】Git代码时光机:版本控制入门到分支管理
git·版本控制·嵌入式开发
szephyr7 天前
Git 分支管理实战:feature/release/hotfix 怎么用才不乱
git·分支管理·团队协作·工作流·hotfix
一木 之林7 天前
手搓家庭服务器:二手装机、Docker部署、端口映射与frp内网穿透
服务器·人工智能·git·编辑器