git多个commit合并成一个

多个commit合并成一个

1、git log 查找最近提交的记录

git log -n 查找最近提交的n条记录

找到需要合并的记录的上一条commitId 类似下图标红的区域是我要合并的 我想把 feat: 第一次提交修改 和 feat:one这几条记录合并为1条记录,如下方圈出来的地方

2、git rebase -i Commitid 变基指令 Commitid 替换为你实际的Commitid

css 复制代码
git rebase -i 5164f28d079ec819d62e753fa55397dde47b4a5c

输入上面命令后 会看到这样的页面,能看到CommitID和CommitId之前每一条提交记录,我们把需要合并的提交前边的pick改成s或者squash

我们再来回顾一下需求: feat: 第一次提交修改 和 feat:one这几条记录合并为1条记录

上图中,我圈出来的这4个合并为1个记录,

修改除了第一个提交外的所有 picksquash,这样可以将这些提交合并到第一个提交中;

接下来,

3、 在窗口中输入 i 变为可编辑的状态

4、 修改除了第一个提交外的所有 picksquash,这样可以将这些提交合并到第一个提交中;

pick : 保留该提交, squash 将该提交合并到上一个提交。

yaml 复制代码
pick 928e1be feat: one
squash 0b9eee2 feat: 第一次提交修改
squash ec2f8c5 feat: 第一次提交修改
squash 8f3a5ea feat: 第一次提交修改
pick f074c6a feat: 删除内容

5、 修改完成后,按下Esc 退出编辑状态

6、 不要忘记保存刚刚的操作

输入 :wq,(注意看!!前边有个冒号)然后按 Enter 键保存文件并退出。

7、 按下Enter后会看到下面的页面

再次输入:wq 按下Enter

最后会退出到这样的界面,再次查询一下 git log 发现已经变成了一个commit,如下图所示

8、git push -f // 强制推送本地改动到远程的对应的分支上。(这里建议新建一个分支进行执行 确保强制推送的分支只有自己一个人在开发)

9、 提交前后commit对比

提交前commit:

提交后commit:

git练习地址

merge-mommit分支

github.com/menglin1997...

相关推荐
Hyyy9 小时前
普通前端续命周报——第1周
前端·javascript
KaMeidebaby9 小时前
卡梅德生物技术快报|抗独特型抗体开发:半抗原检测技术瓶颈拆解,抗独特型抗体开发工程化实践
前端·数据库·人工智能·其他·百度·新浪微博
2501_940041749 小时前
纯前端创意交互:五款全新实用工具与视觉应用生成指南
前端·交互
刀法如飞10 小时前
《道德经》简单解说版-第 2 章:天下皆知美之为美
前端·后端·面试
发现一只大呆瓜12 小时前
超全 Vite 性能优化指南:网络、资源、预渲染三维落地方案
前端·面试·vite
IT_陈寒12 小时前
Vue的computed属性怎么突然不更新了?
前端·人工智能·后端
智商不够_熬夜来凑12 小时前
【Picker】单选多选
前端·javascript·vue.js
米饭不加菜13 小时前
Typora 原生流程图语法完全指南(Flowchart.js)
前端·javascript·流程图
scan72413 小时前
langgraphy条件边
前端·javascript·html
冰小忆13 小时前
类变量在继承场景下的初始化规则是怎样的?
java·前端·数据库