Git进阶之旅:Git 分支管理

  1. 定义:        
    1. Git 的默认分支是 master,所有的 commit 会在分支上自动移动。在多次提交之后,master 分支指向最后的 commit  object 提交对象链)
    2. Git  的 master 分支并不特殊,跟其他分支没有区别。之所以每一个仓库都有 master 分支,是因为 git init 命令默认创建它。
    3. 很多人认为 master 分支是稳定、无 bug 的分支。而 develop 往往预示着新功能,不稳定的分支。这和分支策略有关,但本质这两个分支没区别
  2. 分支创建:
    1. git  branch:查看分支
    2. git  branch 分支名:创建该分支
    3. git  checkout  分支名:切换到该分支
    4. git  checkout  -b  分支名:创建并切换到该分支
  3. 分支删除:
    1. git  branch  -d  分支名:删除该分支
    2. git  baranch  -D  分支名:强制删除该分支
    3. 注意:
      1. 不能删除自己所在的分支
      2. 可以删除已经合并或者没有变化的分支
      3. 分支发生变化后只能强制删除
  4. 合并分支:
    1. git  merge  分支名:合并该分支(会出现分支冲突情况)
    2. 在 dev 分支上添加或者修改一个文件名,切换到 master 分支上合并 dev 分支,发现也添加了这个文件
    3. git  merge  dev 文件名  --合并分支后 master 分支上也出现了 dev 修改的内容,此时 dev 分支就允许被删除
  5. 分支的本质:
    1. master 执行的是提交
    2. HEAD 是执行当前的分支,当前在哪个分支就指向哪个分支
    3. 当我们切换分支的时候 HEAD 也会跟着切换
    4. 当进入 .git 文件夹查看 HEAD 的内容的时候,所有的分支不同,文件内部指向就不同
      1. master 分支
      2. dev 分支
    5. Git 的分支与 svn 不同,svn 是整体拷贝一份分支,git 用的是指针
    6. 如果 dev 发生修改提交,dev 的版本就会向后移动
    7. 在 master 分支上合并之后就会出现下面的图
  6. 分支的冲突:
    1. 我们在 dev 分支里面修改 A.txt 文件添加一行后提交
    2. 在 master 分支里面修改 A.txt 文件同时添加一行后提交
    3. 合并后就会出现冲突情况
      1. <<<<<<<<<<HEAD:当前所指向的分支修改的
      2. >>>>>>>>>>dev:dev 分支修改的
    4. 我们需要手动合并,提交该文件
    5. 我们可以通过图形来查看冲突的提交日志:
      1. git  log  --graph
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值