git命令中rebase是一个非常强大的命令:
分享下两种使用技巧:
1:多人在同一个分支上协作时,很容易出现冲突。即使没有冲突,后push的童鞋不得不先pull,在本地合并,然后才能push成功。
每次合并再push后,会使得分支变得看上去很乱,有强迫症的童鞋会问:为什么Git的提交历史不能是一条干净的直线?

image.png
其实是可以做到的!
这个时候,rebase就派上了用场:
在准备提交代码时需要先拉取代码,此时使用 git pull --rebase

image.png
在使用git pull --rebase时,需要先把自己的·代码放入暂存区或者现commit代码:git stash / git add git commit

image.png
最后取出暂存区本地修改的代码:git stash pop
git会自动合并代码
这样此分支的提交历史最后展现的就是一条直线了

image.png
2:合并分支
git rebase -i
作用: 合并提交
示例:
image
如图所示:
原因:
出现了两个第十一章的提交信息, 其实提交内容是一样的, 但是提交概述不一样. 这就让我很不爽. 我想把两次的概述信息合并为一个
解决办法:
-
需要用到 git rebase -i 命令来压缩合并两次提交
- 在终端输入: git rebase -i HEAD~2 这里的 HEAD~2 表示合并最近两次的提交, 如果想合并最近三次的提交修改为: git rebase -i HEAD~3
image
输入 git rebase -i HEAD~2 命令后, 会弹出如下的编辑器
image
将第二行的 pick 改为 s “s” 为 “squash” 的缩写
“squash” 的意思是 将倒数第二次提交 压缩为最后一次提交
然后保存
然后会弹出如下的编辑器
image
将 This is the commit message #2 下面的内容改成你想提交的概述即可
- 保存退出