git 的rebase使用技巧

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 命令来压缩合并两次提交

  1. 在终端输入: 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 下面的内容改成你想提交的概述即可

  1. 保存退出
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容