先查看下当前分支的commit信息
git log --graph
commit信息如下
这里将commit ID 为e7dc4b3debab6c61e7a190f96df57662f666d538和db35f24346b83018368daebd9f93ba1dc85c4448合并成一个commit
操作步骤
根据Commit Id 进入交互式修改
使用命令:
git rebase -i commitId
由于这里e7dc4b3debab6c61e7a190f96df57662f666d538是比较老的commit,所以这的commitId取e7dc4b3debab6c61e7a190f96df57662f666d538就可以了。
即:
git rebase -i e7dc4b3debab6c61
弹出交互式窗口:
修改操作
然后发现这里并没有e7dc4b3debab6c61e7a190f96df57662f666d538这个commit,所以将这个commitId添加到这个里面,然后将db35f24346b83018368daebd9f93ba1dc85c4448这个commit 移动到e7dc4b3debab6c61e7a190f96df57662f666d538的下面,并将其操作修改为s或者squash.
注意:移动完以后,要将之前的
db35f24346b83018368daebd9f93ba1dc85c4448删除
修改完以后如下:
保存以后发现有如下提示信息:
查看 git 状态
查看下此时git的状态
git status
继续git rebase
发现此时要继续合并,需要命令:
git rebase --continue
然后就到了squash界面。
在这里再增加一些 commit 消息
保存后提示操作成功!
验证是否操作成功
执行命令
git log --graph
发现操作成功
注意:这里是模仿
e7dc4b3debab6c61e7a190f96df57662f666d538是最后一个commit Id 的操作,其实这里可以在使用git rebase -i commitId时,commitID 可以取e7dc4b3debab6c61e7a190f96df57662f666d538的父级commitID,这样就可以不用在rebase的交互式页中写e7dc4b3debab6c61e7a190f96df57662f666d538而是直接移动和修改db35f24346b83018368daebd9f93ba1dc85c4448就可以了。