合并多次提交 commits 到 新分支
压缩多个Commit
当你提交代码进行代码审查时或者创建一次pull request (这在开源项目中经常发生),你的代码在被接受之前会被要求做一些变更。于是你进行了变更,并且直到下一次审查之前你没有再次被要求进行变更过。在你知道又要进行变更之前,你已经有了一些额外的commit。理想情况下,你可以用rebase命令把多个commit压缩成一个。
git rebase -i HEAD~[number_of_commits]
如果你想要压缩最后两个commit,你需要运行下列命令。
git rebase -i HEAD~2
运行该命令时,你会看到一个交互界面,列出了许多commit让你选择哪些需要进行压缩。理想情况下,你选择最后一次commit并把其它老commit都进行压缩。
然后会要求你为新的commit录入提交信息。这一过程本质上重写了你的commit历史。
其他方式:
[备忘]git,合并分支时,把多个commit合并为一个commit | ||
如果你要把其他分支中几个提交合并到当前分支并且压缩为一个 commit //切换到要合并的分支 git checkout master //检出要合并的分支 (如果有冲突解冲突 ) git cherry-pick 76cada 62ecb3 b886a0; // 把代码重置到 cherry-pick 之前 git reset dd2e86; // git add and commit git add . git commit -m 'all in one';
如果你的代码尚未Push到远程服务器 只是压缩本地commit 记录 假如 本地有commit 76cada 62ecb3 .... b886a0 dd2e86 // reset 默认参数会保留工作区文件 只是去除 reset commit 号之后的 所有提交记录 git reset dd2e86; //dd2e86 为本地多个想压缩的commit 之前的最后一次 commit 号
// git add and commit git add . git commit -m 'all in one';
| ||
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!