git rebase(git extensions版)

接触git快一年了,之前都不会rebase操作,最近刚刚学会了一点。

平时开发中推荐用rebase方式,只有涉及到分支合并的时候才会用merge操作(听别人讲的)。

接下来讲一种rebase操作方式:

1、可以先用stash方式缓存我们的没有commit的代码

stash

stash效果

可以看到commit的数量变成了0

2、用rebase方式拉取代码,因为我们stash了我们的本地改动,所以这样拉是肯定没有冲突并且一定会拉到最新代码

rebase pull

3、拉取之后,执行stash pop操作,就是将放到缓存区的文件拿出来,这个时候可能会有冲突,自行解决就好

stash pop

stash result

可以看到原来的文件又回来了,commit数量变为了1

4、commit代码并提交到对应分支上

至此,完成rebase操作,基本上可以看到一条直线的提交历史。

-------------------------------------------------------------------------------------------------

注:

1、stash操作放到缓存区是我个人看法,实际上有更准确的叙述方式

2、有时候不仅仅会出现本地的冲突,有时提交到远程以后,远程那边也会出现冲突,目前远程如果是用Gerrit,就有可能出现远程冲突,之前用gitlab没有这个问题,可能没有遇到。最常见的情景是两个人几乎同一时间提交了对同一个文件的改动,这样Gerrit就可能会提示有冲突,需要abandon掉这次改动,重复上述的rebase操作再提交代码。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值