用git rebase命令合并开发阶段中多条commit提交记录

通过 git rebase 可以合并开发阶段的多个 commit,让我们的提交记录更干净。其实操作也很简单,主要分为如下6个步骤,以下操作都是在 windows 中的 PowerShell 命令行窗口中进行:

1、查看提交历史

bash 复制代码
git log --oneline

2、设置要合并最近提交的 N 个 commit

bash 复制代码
git rebase -i HEAD~N

3、修改要合并的记录

按键盘上 i 进入编辑模式,然后将除第一行的 pick 外,其他的 pick 全部修改成 s。

4、保存退出修改

修改好后按键盘左上角的 esc 键,然后输入 :wq 就可以保存了。

5、修改 commit 提交信息

操作完上面一步后会自动进入修改 commit 信息,还是按 i 进入编辑模式,接着将不需要的 commit 提交信息前面加上 # 号注释掉,修改好后按 esc,然后输入 :wq 保存。

6、推送到远程仓库

bash 复制代码
git push -f

这样我们开发调试过程中提交的一些无关紧要的 commit 比如:

  • feat:测试一下
  • feat:前一次提交漏了
  • fix:修复前面一次改出来的问题
  • feat:更新一下

都可以借助 git rebase 来合并掉,只保留关键的提交信息,让 git 记录树更加整洁,注意如果中途有其他人提交或者 merge master 之类的操作就不建议再去 git rebase 合并了,因为有可能会导致一些冲突和提交记录丢失。


人人都是码农:AI时代,零基础也能学会编程!关于作者:从美工、前端开发一路成功转型Java后端的野生码农🧑‍,分享UI转前端、前端转Java、全栈开发、独立开发和程序员搞钱副业...

相关推荐
Flynt16 小时前
Claude Code 103 秒删掉 4.8 万个文件之后,我把自己的仓库"删"了一遍:git 能救的比你想的少
git·ai编程·claude
csdn2015_18 小时前
git 可以修改已经push上去的commit说明吗
git
MinggeQingchun1 天前
Git - 令牌登录
git
xhy_07072 天前
Git 合并冲突怎么解决?用 AI 处理冲突的流程、Prompt 和 4 个易错点
人工智能·git·安全·prompt·ai编程·代码复审
Zhou1411362 天前
Git_02_GitLab协作与CI_CD
git·ci/cd·gitlab
Zhou1411362 天前
Git_03_GitFlow分支工作流
git
Flynt2 天前
把 bug tracker 塞进 git 仓库,同步和冲突怎么解决?我把 git-bug 拆开实测了一遍
分布式·git·开源
louisgeek3 天前
Git submodule 子模块
git
imDwAaY3 天前
6篇文章讲清楚Git:Git 实用技巧:暂存现场、挑选提交与定位 Bug (5/6)
git·后端