git re 简单的作用就是合并,同git merge很类似,但是原理又跟git merge不同,下面我们来了解一下git re 的作用:
1、合并多次commit
在开发过程中,我们要完成一个需求,首先我们会从远程仓库拉取一个相对干净的代码,比如测试环境分支develop,然后基于develop分支再创建一个自己本地的分支,代码如下:
创建自己的分支后,就在当前分支中完成自己的需求,完成后需要并自己测试无误后将自己的代码合并到develop分支再push到远程分支,代码如下:
当然上面讲述的事最基本的步骤,但是在实际开发过程中,可能完成一个需求时,我们可能不止一次的commit,可能有5,6个但是有些commit是不需要的,那我们想清理掉这些commit 该如何,那就可以在自己本地分支上使用git re -i,使用git log查看当前分支提交了多少个commit,假设在当前分支我有5次commit,我想把这五个commit合并为一个commit,代码如下:
执行后会跳出一个编辑框,大致如下
commands下面的7行是解释使用时应该填写那个字段来执行你的需求,在这里我们想合并commit但是保留commit的message,所以使用squash,启用vim,按一下a进入编辑,如下:
修改后esc键退出编辑,输入:wq保存并退出,如没冲突,会再次弹出一个编辑框,直接:wq保存退出即可,成功后git log就只会看到一个commit。这样在我们git push的时候就会看到相对比较干净的commit。
2、变基
在前面讲的时候我们5个commit只需要一个,但是有时候5个commit可能需要,那我们合并到develop的时候就会有5个commit,在开发过程中,有时候团队协会开发时,可能会出现好几个人都会修改远程develop分支的代码。
1、在使用merge的时候提交的commit会根据commit的时间来排序,也会生成一个merge的commit,查看commit的历史比较真实。
2、使用re 提交时,re 会将你提交的commit删除,复制新的commit放在develop分支后面,这样看起来就会跟没有合并一样
慎重:在使用git re 的过程中,比较容易出现冲突,在与同事开发过程中最好不要将远程分支的commit用git re ,也不要使用git pull --re ,使用git merge更加可靠一些,因为可以git merge的一定可以git re ,但是可以git re 的不一定可以git merge
继续阅读与本文标签相同的文章
-
豆瓣评分9.9!国内外口碑炸裂的强化学习圣经中文版终于来了!
2026-05-19栏目: 教程
-
免费公测 | 为互联网业务而生,阿里云全球首发云Cassandra服务!
2026-05-19栏目: 教程
-
看板的前世今生
2026-05-19栏目: 教程
-
ES6 iterator 和 generator
2026-05-19栏目: 教程
-
Git Diff中文乱码问题
2026-05-19栏目: 教程
