在平时的软件开发中,咱们每一个team使用一个公共仓库(这里说的是Git仓库)。每当有一个新的需求,咱们会拉出一个特性分支,而后在这个特性分支上作开发以及提交我的的代码。git
我有个习惯就是:为了确保代码的安全性,天天下班前会把我的的本地仓库代码提交到公共仓库。因为天天开发过程当中因为各类缘由会提交几回代码到我的仓库,这样就致使下班提交代码到公共仓库时,一次提交好几个记录,这样就会是的公共仓库有各类乱七八糟的全部增量修改历史。为了不太多的提交而形成版本控制的混乱,一般咱们推荐将这些提交合并成一个。shell
关于Git的经常使用命令,推荐翻阅Git经常使用命令安全
想要合并n条提交记录,有两个方法:spa
1.从HEAD版本开始往过去数 n
个版本3d
git rebase -i HEAD~n
2.指定一个合并区间 startpoint
和 endpoint
,注意:该区间指定的是一个前开后闭的区间,意思就是startpoint不参与合并版本控制
git rebase -i [startpoint] [endpoint]
--interactive
,即弹出交互式的界面让用户编辑完成合并操做1.执行 git log
查看提交历史,接下来咱们将三次提交合并为一个提交code
2.执行 git rebase -i HEAD~3
,弹出操做窗口blog
操做说明:开发
根据咱们的需求,咱们将commit内容编辑以下:rem
pick 85697ee This is first commit. squash ee461c1 This is second commit. squash 326e415 This is third commit.
上面的意思就是把第二次、第三次提交都合并到第一次提交上。
3.而后保存退出,Git会压缩提交历史。若是有冲突,须要修改,修改的时候要注意,保留最新的历史,否则咱们的修改就丢弃了
修改之后要记得敲下面的命令:
git add . git rebase --continue
若是你想放弃此次压缩的话,执行如下命令:
git rebase --abort
4.若是没有冲突,或者冲突已经解决,则会出现以下的编辑窗口
咱们将三次提交信息合并成一个提交信息
Commit feature branch! #This is first commit. #This is second commit. #This is third commit.
5.编辑完保存便可完成commit的合并了,咱们执行一下 git log
而后提交到公共仓库,有没有感受提交记录清爽了许多,快来试试吧!
关注公众号:JAVA九点半课堂,这里有一批优秀的程序猿,加入咱们,一块儿探讨技术,共同进步!回复“资料”获取 2T 行业最新资料!