git子分支代替主分支,删除主分支

  • 开发过一个小项目,第二周发现开发模式不大对,然后从第一周搭好框架的地方建了子分支dev,在dev上正八经开发,master也没管过,从分支的位置开始的master(第二周)的内容就没用了。
  • 这次要迁移仓库,正好搞一下,把master多出来的那些删了,然后把子分支dev合并过去
  • 利用git base & gitkraken结合使用

原始结构如下

  • 分支处
    在这里插入图片描述
  • dev 分支
    在这里插入图片描述
  • master 分支
    在这里插入图片描述

步骤

前边几步都是基于本地仓库操作,最后push到远程即可(会把本地修改后的分支结构push上去,我这里是需要换新的仓库,如果还是老仓库,push的时候会提示警告,要选择强制push)

  • 这是目前的分支结构
    master  -- master(m条提交:a b c d e f... m)
            -- dev(n条提交:1 2 3 4 5 6 7 ... n)
            //字母和数字代表提交内容,以上说明master和dev的内容不一样
    
  • :将本地代码恢复到分支时的那次提交,discard all changes的意思是取消所有的更改,即忽略 执行这次操作前后(即恢复前的代码和即将恢复的这次提交所包含的代码)的 代码之间的差异
    在这里插入图片描述
  • 此时本地的分支结构其实就变成了:
    master  -- master(0条提交)
            -- dev(n条提交:1 2 3 4 5 6 7 ...n)
            //字母和数字代表提交内容
    
  • :在项目目录下,合并dev分支到master
    # 切换到master分支,在GitKraken直接双击左边的master即可切换
    $ git checkout master
    
    # 开始合并
    $ git merge dev
    
    在这里插入图片描述
  • 此时本地的分支结构变成了:
    master  -- master(n条提交:1 2 3 4 5 6 7 ...)
            -- dev(n条提交:1 2 3 4 5 6 7 ...)
            //此时dev分支上的内容已经合并到了master上,两个分支内容完全一致,在gitkraken中也显示在一个节点上。
    
  • 查看gitkraken,明确地看到两个分支处于一个节点。(合并之后子分支并不会自动删除,因为实际的分支应用中,子分支是在完成一个功能后合并到主分支,但是子分支可能还会继续开发其他功能。但是这里我是不会再用这个分支了,所以等会我会删除)
    在这里插入图片描述
    • 电脑图标是本地的意思,狙击图标是远程的意思。master的远程仓库的节点还是在原先的位置
      在这里插入图片描述
  • :选择性删除。dev分支我已经用不到了,这里我就直接删除啦。不能在当前分支删除本分支,所以切换到master删除dev
    在这里插入图片描述
  • 此时本地的分支结构变成了:
    master  -- master(n条提交:1 2 3 4 5 6 7 ...)
    
  • :最后,更换远程地址。最最后,push到远程。我是在gitkraken里push的,很简单,就不贴图啦
    在这里插入图片描述
  • 如果最后本地的gitkraken还显示有旧分支,那么删掉本地代码重新拉取一次即可啦

😁欢迎加入QQ群交流: [游戏-Web-开发技术栈 ☄️] '300567032’
点击下方图标一键加入!
游戏-Web-开发技术栈 ☄


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值