Git rebase命令的作用

  Git作为分布式的版本管理系统,对于代码版本的管理至关重要,使用git需要了解三个区域:暂存空间、本地仓库和远程仓库。使用git作为版本控制,都是要在各自的分支上,在本地开发,每天需要把当天完成的任务提交到本地仓库,需要版本迭代时需要推送到远程仓库,而暂存空间就是你在本地开发时,新增或者修改的文件使用git add会添加进暂存区,然后使用git commit才能提交到本地仓库。这是介绍了三个区域,有些跑题了,回归到git rebase的命令上。

  git rabse翻译过来就是“变基”的意思,好听一些就是“衍合”的意思,就是因为开发人员在各自分支上开发,然后每天进行提交,所以分支的提交记录会是一个很臃肿的提交记录,然后每个开发人员再推送到远程仓库,发版前merge等各种操作,会显得很乱,如下图:

 

这时就会用到git rabse,git rabse的命令要使用在推送远程仓库之前,把本地仓库的提交历史变得简洁一些,具体使用如下。

以下是我本地提交的历史:

如果这样的提交历史推送到远程仓库,会被同事给盘的,所以用git rebase的命令变一下基,衍合成一个简洁的提交历史。

命令:git rebase -i [startpoint] [endpoint]

其中-i是--interactive,即弹出交互式的界面让用户编辑完成合并操作,[startpoint] [endpoint]则指定了一个编辑区间,如果不指定[endpoint],则该区间的终点默认是当前分支HEAD所指向的commit(注:该区间指定的是一个前开后闭的区间)。

步骤1:使用git log查看提交历史

步骤2:找出需要衍合的commit_id,复制前几位就行,使用命令git rebase -i [start commit_id]  [end commit_id]进行编辑:

然后会弹出编辑页面,让你使用里面的提示进行编辑此次的衍合:

步骤3:我们使用命令s,就是合并到最新的提交记录上:

步骤4:保存文件,会弹出编辑提交备注的编辑页面,可以进行编辑重新改写提交信息,也可以不编辑,使用之前的提交信息:

保存该文件并退出,然后变基的工作的就完成了,本地提交历史也会变得如下这样简洁:

这时再推送到远程仓库,也就不用担心被盘了!

总之一句话:git rebase让你的仓库有一个简洁的提交历史。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿人小郑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值