分布式版本控制系统Git-----7.Git 使用git rebase合并多次commit

Posted 有梦想的乌龟·

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式版本控制系统Git-----7.Git 使用git rebase合并多次commit相关的知识,希望对你有一定的参考价值。

将多次commit合并,只保留一次提交历史。

PS:在我练习的时候,将一个文件的代码做了多次修改,而且每次修改都给提交了,这几次改动的目的都一样,比如说修改RADEME.md,但是每次改动的只是一个小小的代码,但是提交历史上的显示看着会很乱,所以需要合并之前的多次提交历史。

1.首先使用git log查看一下提交历史【--oneline作用是将每个提交放在一行显示】

 

这样在git中看到的是4次提交(更改txt),有点冗余,需要做的是将4commit合并为一次

 

2. git 压缩  git rebase -i HEAD~5【这里也可以写为4,如果是4的话,下面修改参数的时候最上面那条也得修改】

 

该命令执行后,会弹出一个编辑窗口,5次提交的commit倒序排列,最上面的是最早的提交,最下面的是最近一次提交。

【未修改的编辑窗口我没截图,只截了修改了的图,图在下面】

 

修改第2-4行的第一个单词picksquash(也可以改为简写"s"),当然看一下里面的注释就理解含义了。

 

然后保存退出,git会压缩提交历史,如果有冲突,需要修改,修改的时候要注意,保留最新的历史,不然我们的修改就丢弃了。

 

【最上面那条记录的不能动(因为后面的提交都是基于其上面提交来的)

 

 

 

修改以后要记得敲下面的命令:

git add . 

git rebase --continue  

 

如果你想放弃这次压缩的话,执行以下命令:

 

git rebase --abort

 

如果没有冲突,或者冲突已经解决,则会出现如下的编辑窗口:

 

 在这可以将几次的提交说明删了,只留一个

只留着这一条信息。 井号#开头的是注释,不用管。

 

3.再次git log查看一下提交历。。最上面那一条就是刚刚合并的。合并成功了。

 

以上是关于分布式版本控制系统Git-----7.Git 使用git rebase合并多次commit的主要内容,如果未能解决你的问题,请参考以下文章

使用Git分布式版本控制系统

GIT分布式版本控制系统使用教程

Git分布式版本控制

分布式版本控制系统Git的使用总结

git的使用

git分布式版本控制系统常用的操作