git 拉取衍合命令_Git rebase命令的作用

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

bd8617ec1ef3f04c3abb957eff67e2e8.png

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

889f09a12a9fa3356ef33f08bc9aa104.png

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

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

4db733fc1e28759799b64320f868da88.png

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

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

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

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

e34b951318f7c9c20b7e1f5a1e758a8a.png

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

5cf503b17c0e820123d5faf807126586.png

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

f60454ac446db7791c48c4f6dc7fa0ea.png

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

5f811eca1511850a4c3e69bdb8e7559f.png

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

a48db26825086295b4966036d6c20bb5.png

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

4f38cd9be735db6d56209aaea43f55ca.png

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值