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 完成提交。