git --分支管理

目录

分支管理

  • 分支管理的概念

    分支就好比做一个房子。水电和室内的装修可以同时进行,分两个不同线路进行,最后汇合将房子做成。
    在这里插入图片描述
    所以分支也就是几条可以独立运行的线路互相之间不会影响。最后可能会汇合将工作完成。

    分支的应用:

    分支在实际应用中还挺广泛的。比如说你要一个做一个项目,每个人完成25%的项目,但是需要两周才能够完成。第一周你只写了50%的代码,如果提交上去的话,不完整的代码会导致别人的无法正常运行。如果等到代码写完了在提交的话又可能会导代码丢失进度的风险。

    但是现在有分支之后就好多了,你有了一个属于自己的分支别人看不到,别人还继续在原来的分支上进行工作。但是你在自己的分支上,想提交就提交,直到开发完毕后,在一次性将代码合并到原来的分支上。这样既安全,又不影响别人的工作。

返回目录


  • git分支的详细讲解及原理
    • 讲解

      git 把我们之前每次提交的版本串成一条时间线,这个时间线就是一个分支。
      在没有创建分支之前都只有一条分支。
      在git里面叫做 主分支,即 master分支

      HEAD严格来说不是 指向提交,而是指向master
      而master才是指向提交的。所以HEAD指向的就是当前分支。

      结论就是:
      HEAD<指向>分支名<指向>提交
      所以HEAD不是直接指向提交得版本的,是间接的指向的。


    • 原理:
    1. 一开始的时候,只有 master 一条主分支,此时的 HEAD指针 指向 mastermaster 又指向最新的提交
      g
      所以每次提交一次版本,它就往前面移动,指向最新的提交。所以这个主线也就越来越长。

    1. 当创建一个分支 dev 的时候,只是创建了一个 指针dev 并指向与 master相同 的提交。然后将 HEAD 指向 dev指针 。就表示当前的分支在dev上面
      在这里插入图片描述
      所以git创建一个分支很快。只是添加一个 dev 指针,然后修改 HEAD 的指向,整个工作区都没有任何的变化。

    1. 后面再创建的版本就和 master 没有关系了,是在 dev 分支上的。而 master 指针还是在原来的位置。往后面添加的始终只是 dev 指针
      在这里插入图片描述

    1. dev 分支上面的工作做完了的时候。要合并分支,只需要将 master 分支移到 dev 所指的最新提交上面来。在将借来的HEAD还给 master 指针就行。后面再添加就和 dev 没有关系了。
      在这里插入图片描述
      git 合并分支也很快,也就是改改指针,工作区的内容还是不变。

    1. 分支合并完成后。甚至可以删除 dev 分支 删除dev分支也就是删除dev指针而已。
      删除了后,就只剩下一条master 分支
      在这里插入图片描述

返回目录


  • 分支有关的命令
  1. 命令:

     	git branch   
     	查看当前所有的分支。 * 号后面接的那个分支就是目前正在使用的分支
    
     	git branch <name>
     	创建新的分支
    
     	git checkout <name>
     	切换分支
    
     	git checkout -b <name>
     	创建并切换新的分支
    
     	git merge <name>
     	快速     合并name分支到当前主分支
     	
     	值得注意的是前面讲的快速合并(Fast Forword)是
     	直接将 master 直接移到当前分支指的提交的位置。是git合并一般默认快速合并
     	
     	有些分支的合并不能够用快速合并。需要注意。
    
     	git branch -d <name>
     	删除某分支
    

  1. 使用:

    • 查看当前所有的分支
      在这里插入图片描述
    1. 创建分支并查看
      在这里插入图片描述

    2. 切换分支
      在这里插入图片描述

    3. 在新分支中修改文件并提交版本
      在这里插入图片描述

    4. 切换回master主分支
      在这里插入图片描述
      切换回master分支发现并没有之前提交的 dev版本1.0 是因为两个分支还有进行快速合并

    5. 合并dev和master分支
      在这里插入图片描述
      合并完成后可以看到出现了dev版本1.0

    6. 删除dev分支
      在这里插入图片描述
      删除分支后发现只有主分支 master

返回目录


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值