git压缩/合并多次commit提交为1次commit提交

git压缩/合并N次commit提交为1次commit提交

假设有最近3次提交:

复制代码
commit_id1
commit_id2
commit_id3

目标是把以上3次commit合并成1个commit,注意,最新的commit提交在最上面。

在git bash里面的操作步骤:

(1)git rebase命令:

复制代码
git rebase -i HEAD~3

(2)在弹出的窗口中把 pick 改为 s (即squash )。

这一步,会弹出一个窗口,键盘输入 i ,然后把第2个和第3个 pick 改为 s,最终形如:

复制代码
pick commit_id1   '注释*'

s commit_id2   '注释*'

s commit_id3   '注释*'

(3)然后按 Ctrl+C ,输入 :wq 退出。

(4)此时,变成常规的git提交过程了,

复制代码
git add . 
git rebase --continue

(5)git push到你的远程仓库即可。

注意,如果中途有冲突需要解冲突,如果有异常无法合并,可以:

复制代码
git rebase --abort  

放弃此次操作。

查看历史commit提交记录:

复制代码
git log

git切换分支代码到某一次commit提交_zhangphil的博客-CSDN博客git命令:git reset --hard commit-id可以通过git log输出查找。git reset撤销当前分支所有修改,恢复到最近一次修改前干净的分支情况,首先:git reset --hard接着:git clean -fd。git reset撤销当前分支所有修改,恢复到最近一次修改前干净的分支情况_zhangphil的博客-CSDN博客。git回退代码仓库版本_git回退到之前的版本会影响本地代码嘛_zhangphil的博客-CSDN博客。https://blog.csdn.net/zhangphil/article/details/132326842git基于change代码修改与提交_zhangphil的博客-CSDN博客git cherry-pick:复制多个提交commit到当前分支git cherry-pick的作用是合并不同分支的若干个commit到当前分支,这些若干个commit代码提交可以是不同分支的commit提交,如图:现在master分支打算把develop分支的C、D、E这三次提交复制到当前mater分支,那么首先需要从develop切换到分支到master:git checko...git cherry-pick解冲突push到远程代码仓库。某种意义上讲,change相当于git的分支。https://blog.csdn.net/zhangphil/article/details/132121739git查看commit提交的历史记录_git查看本地commit记录_zhangphil的博客-CSDN博客git查看commit提交的历史记录%格式化占位符代表的意义:%h,某次提交的哈希值简写。%H,某次提交的完整哈希值。%an,作者名字。%cr,提交距离现在有多久时间。%cn,提交者名字。(与%an不同,提交者只是提交了代码,但可能不是作者)%cd,提交的日期。%s,提交的信息。......_git查看本地commit记录https://blog.csdn.net/zhangphil/article/details/125553909git cherry-pick:复制多个提交commit到当前分支_zhangphil的博客-CSDN博客git cherry-pick:复制多个提交commit到当前分支git cherry-pick的作用是合并不同分支的若干个commit到当前分支,这些若干个commit代码提交可以是不同分支的commit提交,如图:现在master分支打算把develop分支的C、D、E这三次提交复制到当前mater分支,那么首先需要从develop切换到分支到master:git checko...https://blog.csdn.net/zhangphil/article/details/83787145git当前本地已commit但未push到远程的提交,并选择其中一个commit推送至远程_git查看本地提交没有push的代码_zhangphil的博客-CSDN博客git cherry-pick:复制多个提交commit到当前分支git cherry-pick的作用是合并不同分支的若干个commit到当前分支,这些若干个commit代码提交可以是不同分支的commit提交,如图:现在master分支打算把develop分支的C、D、E这三次提交复制到当前mater分支,那么首先需要从develop切换到分支到master:git checko...git当前本地已commit但未push到远程的提交,并选择其中一个commit推送至远程。_git查看本地提交没有push的代码https://blog.csdn.net/zhangphil/article/details/129589462git删除/撤销远已经push到程服务器上某次代码提交_git怎么删除某次代码的提交_zhangphil的博客-CSDN博客git删除/撤销远已经push到程服务器上某次代码提交场景:不小心把一次错误的代码push到远程服务器上的分支上,需要立即删除/撤销这次代码提交。具体方法,git命令:git reset --hard git push origin HEAD --forcecommit_id可以通过git命令:git log输出获取。commit_id形如:126f206185f225879f2723ca421_git怎么删除某次代码的提交https://blog.csdn.net/zhangphil/article/details/79670257git拉取远程所有分支/添加远程仓库_zhangphil的博客-CSDN博客git拉取远程所有分支/添加远程仓库。_拉取远程所有分支https://blog.csdn.net/zhangphil/article/details/129189980

相关推荐
vibecoding日记1 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
程序员小崔日记2 天前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传
Bigger3 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP3 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
红豆子不相思4 天前
Tomcat 环境搭建与集群实战
服务器·git·tomcat
杰哥技术分享4 天前
Git 仓库迁移技术文档:从 CODING.net 迁移至腾讯云 CNB
git
梅孔立4 天前
Ansible 100 台服务器一键管控实战 进阶版
服务器·git·ansible
qq_426003964 天前
git切换当前分支到远程分支
git
ON10N4 天前
100% 纯 Vibe Coding,我是怎么用 AI 撸出一个 VS Code 插件的
git·ai编程·visual studio code