Git 变基概念理解误区

先放上官方文档的地址,大部分同学应该看了这就明白了,但我是属于那种比较笨的……
https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA

其实文档里说的还是比较容易理解的,“提取在 C4 中引入的补丁和修改,然后在 C3 的基础上应用一次”,但我自己却偏偏要自作聪明,(想太多了?举一反三?)反向推理,把C3中引入的补丁和修改,在C4的基础上应用一次(理论上应该可以?“貌似这才是真正的变基吧?把整个基于master的分支都给改了……”),如果像我这么想,那就不是变基了,那叫革命,连最基础的Master分支都给打乱了。

真正的变基的意思,可以理解为,原来C4是基于C2的,经过变基后,C4变成了基于C3,其他用户在C3的基础上继续开发,生成了C5、C6,然后提交并推送了,这时,我们因为是后提交,发现C3有变动,不能再继续提交了,必须重新变基,把我们自己开发的C4、C7、C8重新变基到C6后面,再提交。即将原先基于C3的分支砍断,重新基于C6建立新的分支连接并提交推送。

原来的理解有误,其实中间的主线是不能改的,每个人基于master分支都会建立新的分支进行开发,当有其他用户在你之前提交代码并合入master分之后,master分支就向前发展了,如果你需要依赖其他人的代码构成一个完整的项目,那你就必须基于最新的发展变基,重新建立分支连接,关键是要搞清楚主次,master永远是主,你自己的分支永远是次,必须是把你自己分支上引入的补丁和修改,在主干C3的基础上应用一次。而不是倒过来,否则就会有问题。

我就是这样,因为在自己的分支上加了很多东西,直接变基推送到master分支,直接报错,一片红,由于公司项目master有权限设置,不能随便提交合并东西,所以直接就报权限错误了,(还好没有权限…… )

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值