侧边栏壁纸
博主头像
Komi博主等级

WizMan Komi

  • 累计撰写 30 篇文章
  • 累计创建 43 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

Git Rebase 本地多次提交squash合并

Komi
2022-02-27 / 0 评论 / 0 点赞 / 188 阅读 / 846 字
温馨提示:
内容仅供参考,实际使用需根据自身条件进行调整与删改

什么是git rebase

rebase的字面意思为 变更根基,即将当前分支的HEAD拉取父分支最新变更作为基础进行改动

为什么需要使用到rebase命令

当我们的提交比较冗余的时候 我们需要把当前的提交进行一次squash合并 作为一次提交记录 这样方便版本的回退以及代码管理

如何使用git rebase

这里我们有两个步骤需要进行

  1. 查看本地提交日志 并记录下需要合并的提交记录
  2. 使用git rebase命令进行交互式的合并操作
git log
// or
git log -n (N)

注意: 这里的N代表自HEAD最近的N次提交记录

v1.png

git rebase -i HEAD^3
// or
git rebase --interactive HEAD^3
// or
git rebase -i [startcommitId] [endcommitId]

v2.png

这里会弹出git默认设置的编辑器(可以手动更改)提示目前所选中的这些提交需要进行的操作

p, pick = use commit
r, reword = use commit, but edit the commit message
e, edit = use commit, but stop for amending
s, squash = use commit, but meld into previous commit
f, fixup = like "squash", but discard this commit's log message
x, exec = run command (the rest of the line) using shell
d, drop = remove commit

这里我们将后面的两个pick修改为squash 然后将编辑器关掉 此时还会弹出另一个弹窗 作为本次合并操作的预览

v3.png

保存并退出后可以使用git log进行查看提交状态

v4.png

推荐文章: ->

https://www.internalpointers.com/post/squash-commits-into-one-git
https://www.git-tower.com/learn/git/faq/git-squash

0

评论区