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

git merge 压缩提交

在 Git 中,执行 git merge 时可以通过一些操作来“压缩”提交,通常是指将合并过程中的多个提交压缩成一个单一的提交。这可以通过使用 --squash 选项来完成,或者在合并后进行交互式 rebase。以下是两种常见的方法:

方法 1:使用 git merge --squash

当你执行 git merge --squash 时,Git 会将所有来自另一个分支的提交合并为一个暂存的更改,但并不会立即创建一个新的提交。你可以手动创建一个合并提交,这样就相当于“压缩”了所有更改。

  1. 首先,确保你处于目标分支(例如 master):

    git checkout master
    
  2. 执行 merge --squash 来将另一个分支的更改合并到当前分支:

    git merge --squash feature-branch
    
  3. Git 会将 feature-branch 分支上的更改压缩到暂存区,你需要手动提交:

    git commit -m "Squashed commit from feature-branch"
    

这样,feature-branch 上的所有提交会被合并为一个提交。

方法 2:使用交互式 rebase 压缩提交

如果你已经进行了合并,或者想在合并之后对提交进行压缩,可以使用 git rebase -i 来执行交互式 rebase,压缩多个提交为一个。

  1. 找到你要压缩的提交范围,通常你会想从合并分支的基础提交开始。假设你要压缩的是 feature-branch 中的所有提交,可以首先查看提交日志:

    git log --oneline
    
  2. 使用交互式 rebase 来选择你要压缩的提交:

    git rebase -i <commit-hash>^
    

    这里的 <commit-hash> 是你想压缩的第一个提交的父提交。

  3. 在打开的交互式 rebase 编辑器中,将你希望压缩的提交(除了第一个提交)前面的 pick 改为 squash 或简写为 s,然后保存并退出编辑器。

  4. Git 会提示你编辑合并提交的信息,你可以修改提交信息并完成 rebase。

总结

  • 使用 git merge --squash 合并时可以将多个提交压缩成一个提交。
  • 使用交互式 rebase 可以在合并后对提交进行压缩。

这两种方法都可以有效地“压缩”合并过程中的提交。


http://www.kler.cn/a/505147.html

相关文章:

  • 大模型微调|使用LoRA微调Qwen2.5-7B-Instruct完成文本分类任务
  • Unity|Tetris|俄罗斯方块复刻1(C#)
  • RK3588-NPU pytorch-image-models 模型编译测试
  • cursor重构谷粒商城01——为何要重构谷粒商城
  • 2025开年解读:AI面试 VS 传统面试本质上区别有哪些?
  • Linux网络知识——网络命名空间虚拟网卡
  • 数据结构知识点
  • Java 面试题 - ArrayList 和 LinkedList 的区别,哪个集合是线程安全的?
  • 接口自动化测试难点—数据库验证解决方案
  • HTTP 头部字段的作用
  • HarmonyOS 鸿蒙 ArkTs(5.0.1 13)实现Scroll下拉到顶刷新/上拉触底加载,Scroll滚动到顶部
  • Object类和hashcode方法
  • 链接加载与ATT汇编
  • 【DevOps】Pipeline功能语法
  • 从0到1搭建推荐系统 -- 数据驱动的算法与架构设计(带数据集)
  • 脚本练习3
  • 统计学习算法——逻辑斯谛回归
  • vue3计算属性
  • G1原理—5.G1垃圾回收过程之Mixed GC
  • 报告分享 | 大语言模型安全和隐私研究综述