压缩Git的commit记录

当发起一个pr后,发现没有达到预期,会提交多个commit修复问题,这样的结果会造成commit碎片化,而coomit记录压缩(squash)就是为了解决这样的问题。

查看提交日志

git log

# 进入查看模式后,按q退出

此步的目的是为了查看需要合并哪些提交记录

发起变基

git rebase -i HEAD~<number>

# example : git rebase -i HEAD~4
# HEAD~4的含义是从头部开始追溯4条记录

发起变基后,会进入编辑模式
将需要压缩的commit前面的pick改为squash
不能全部squash,至少保留一个pick

:wq      #保存后进入下一个编辑模式查看变更详情
:wq      #继续保存

此时使用 git status 可以查看当前本地仓库状态

解决冲突并保存修改

git pull
# 拉取之后如果有冲突的话,解决冲突后,保存修改

完成变基操作bing并提交远程分支

# 取消变基:git rebase --abort

# 如果没有冲突打断变基的话,不用执行continue
git rebase --continue

git push -f origin branch_name
# 操作完git push 后,会看到压缩情况的信息
添加新评论