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

squash压缩合并

要将test分支的多次提交合并到dev分支并压缩为一个commit,核心是使用 git merge --squash 命令(压缩合并),具体步骤如下:

详细步骤:

1.	切换到dev分支并拉取最新代码

先确保本地dev分支是最新的,避免合并时冲突:
git checkout dev # 切换到dev分支
git pull origin dev # 拉取远程dev的最新代码(如有多人协作,必须做这步)
2. 压缩合并test分支的所有提交
使用 --squash 选项将test分支的所有提交“压缩”为一个未提交的修改:
git merge --squash test
◦ 这一步不会创建合并commit,而是把test分支的所有变更汇总到当前工作区(相当于把test的多次提交“打包”成一次修改)。

3.	提交压缩后的修改

压缩后的修改需要手动提交,此时可以写一个汇总性的commit信息(概括test分支的所有变更):
git add . # 确保所有修改被暂存(如有新增文件需手动add)
git commit -m “合并test分支的功能:[汇总test分支的核心变更]”
4. 推送到远程dev分支
最后将本地dev分支的新提交推到远程:
git push origin dev
关键说明:

•	--squash 的作用:只合并代码变更,不保留test分支的提交历史,而是将所有变更压缩为一次“待提交”状态,最终由你手动生成一个新commit,保持dev分支历史简洁。•	合并后,test分支的原始提交历史不会被影响(依然保留多次提交记录),后续可继续在test分支开发。•	若合并过程中出现冲突,需先解决冲突(修改冲突文件),再执行 git add <冲突文件> 标记为已解决,最后执行 git commit 完成提交。
http://www.dtcms.com/a/272616.html

相关文章:

  • 【无标题】 RV1126平台(Buildroot Linux)+ SunplusIT SPCA2688 USB摄像头 RTSP推流全流程复盘与问题解决记录
  • 系统性部署系统母盘【rhel7和rhel9】
  • 7月10号总结 (1)
  • 大数据的安全挑战与应对
  • Linux:库的原理
  • swift开发,关于应用、页面、视图的生命周期
  • [C++ STL] list类的刨析及简易实现
  • 亚马逊首个“海折节”,缘何加码进口电商?
  • java多线程环境下资源隔离机制ThreadLocal详解
  • C#内插字符串:从语法糖到深度优化
  • 学习笔记(32):matplotlib绘制简单图表-数据分布图
  • 入门级别的Transformer模型介绍
  • Rust中Option和Result详解
  • 微调性能赶不上提示工程怎么办?Can Gradient Descent Simulate Prompting?——论文阅读笔记
  • Apache Shiro 框架详解
  • 【三维生成】FlashDreamer:基于扩散模型的单目图像到3D场景
  • Express 入门指南(超详细教程)
  • 机器学习之逻辑回归和k-means算法(六)
  • 32多串300A保护板测试仪:新能源电池安全的核心守护者
  • 生成式人工智能实战 | 自注意力生成对抗网络(Self-Attention Generative Adversarial Network, SAGAN)
  • 深入理解fork():系统调用创建进程的原理与实践
  • 项目部署:nginx的安装和配置
  • 利用Pandas进行条件替换与向前填充
  • Linux中的命令连接符
  • Layui —— select
  • 图解Java数据容器(三):Queue
  • CAS登录工作流程简述
  • 【前端】【Echarts】ECharts 词云图(WordCloud)教学详解
  • Prompt提示词的主要类型和核心原则
  • 在vscode中和obsidian中使用Mermaid