工作中可能出现一个bug修复多次调教或者开发过程中需要临时保存代码到分支上的操作。但是合并主分支的时候不希望把过多的提交记录信息展示出来。这里就需要用到git rebase 命名。
案例
使用git rebase 合并多条commit
- 查看git log 选择要合并的记录
2.选中一个commit id作为合并到对象,从上至下按照最新提交的记录排序。这里可以选中第三条记录。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
|
- 这里将要合并的commit 前缀pick 改成 s 或者 squash 就可以开始合并了。这里使用vim
:wq
保存
1 2 3
| pick a755a10 完善单元测试 s d3f1272 完善代码 s 547947e
|
- 正常情况下,不回创建临时空间。直接将代码推送到需要存储分支就可以了。这里不直接推送主分支,建议合并过去。
1
| git push -f origin branch
|
- 不正常的情况,一般是合并冲突,只需要将合并解决掉, 在将合并的文件添加暂存区,在使用git rebase –continue。或者直接放弃git rebase –abort 或者直接切换到其他分支,然后删除刚才操作的文件退回
rm -rf .git/rebase-merge
- 检查
git log --oneline