Git_03分支

1.版本分支的好处

  • 保证主线代码的完整性

例如需要向项目中添加一个新功能,一般的团队都不会直接在主分支上修改,都会新建一个分支,在上面更改代码。这样做的好处就是保证主线代码的完整性和可用性,也就是说,主线上都是稳定的代码,可以直接拿来发布的

  • 减少冲突的解决

在自己的分支上开发进行合并与全部在一个主分支上开发进行对比,如果代码提交相对频繁,你将会发现你永远都在解决冲突,如果提交缓慢的话,你还是发现在解决冲突,实际上你并不需要解决太多冲突,很多冲突是没有必要的。

2.Git与SVN分支比较

  • 在很多版本控制系统中,构建分支常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。而 Git 的分支模型极其的高效轻量的。

3.Git中分支和Head是什么

  • 分支:指向提交对象的可变指针 每次的提交新的提交对象会自动向前移动
  • Head指针:指向当前所在的分支,Head分支随着提交操作自动向前移动

4. Git分支的相关命令

  • 创建分支 :git branch branchname

其中HEAD指向 该分支上的最后一次提交。这表示 HEAD 将是下一次提交的父结点。通常,理解 HEAD 的最简方式,就是将它看做 当前提交的快照。

  • 切换分支 git checkout branchname

    • 切换分支时会有三个地方的文件被改变

      ​ 工作区 :如果当前分支上有只有新建文件没有被提交或者没有被暂存,那么在切换分支git默认会切换 且将新建的文件带到切换后的分支上,那么会污染主分支上的文件

      ​ 暂存区

      ​ HEAD

      为了避免当前工作区文件的丢失 每次在切换分支前 提交一下当前分支

  • 图例:

  • 做出修改再提交

  • 切回到master

  • 合并到主分支上

    • 合并原理 :如果 master 分支所指向的提交是你当前提交的直接上游,所以 Git 合并只是简
      单的将指针向前移动

    • 合并前的指针

    • 合并后的的指针

 # 查看分支列表 
 git branch
 # 查看分支图
 git log --oneline --decorate --graph --all
 
 
 # 创建并且切换分支
 git checkout -b branchname
 # 版本穿梭(时光机): 新建一个分支并且使分支指向对应的提交对象
 git branch branchname commitHash  
 # 普通删除分支   
 git  branch -d branchname
 # 强制删除分支      
 git  branch -D branchname
 # 合并分支 
 # 如果出现冲突 --> 打开冲突的文--->进行修改--->add commit 
 
# 查看合并到当前分支的分支列表,一旦出现在这个列表中 就应该删除
git branch --merged
# 查看没有合并到当前分支的分支列表,一旦出现在这个列表中 就应该观察一下是否需要合并
git branch --no-merged
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值