06Git的分支管理

几乎每一种版本控制系统都以某种形式支持分支,使用分支是为了从开发主线上分离开来,在不影响主线的同时继续工作。下面我将分享有关Git分支管理的内容:

创建分支命令:

创建分支命令

切换分支命令:

切换分支命令

当切换分支时,Git会用该分支的最后提交的快照替换工作目录的内容,所以多个分支不需要多个目录

合并分支命令:

合并分支命令

可以多次合并到统一分支,也可以选择在合并之后直接删除被并入的分支

列出分支

  • 列出分支基本命令:
    列出分支

  • 没有参数时,git branch会列出在本地的分支
    本地的分支

上面这个例子就是说明我们有一个“master”的分支,并且该分支是当前分支,当执行git init的时候,缺省情况下Git就会创建“master”分支,如果需要手动创建一个分支,可以直接执行git branch(branchname)
手动创建分支

可以看到,创建了一个testing的新分支。当以上面的方式在上次提交更新之后创建了新分支,如果后来又有更新提交,然后又切换到了“testing”分支,Git将还原工作目录到创建分支时候的样子

  • 可以用git checkout(branch)切换到要修改的分支
    切换分支

当切换到“testing”分支的时候,添加的新文件test.txt会被移除,原来被删除的文件hello.php文件又会出现。切换回到“master”分支的时候,它们又会重新出现
来回切换1
除此之外,还可以使用git checkout -b(branchname)命令来创建新分支并立即切换到该分支下,从而在该分支中操作
来回切换2

闲杂就创建了一个分支,在该分支的上下文中移除了一些文件,然后切换回主分支,哪些文件就回来了,使用分支将工作切分开来,从而让我们能够在不同上下文做事,并来回切换

删除分支

  • 删除分支命令:
    删除分支
    例如删除“testing”分支:
    删除分支例子

分支合并

任何分支合并到当前分支中去命令:
分支合并
分支合并
以上实例将newtest分支合并到主分支中,test2.txt文件被删除

合并冲突

  • 合并不仅仅是简单的文件添加、移除的操作,Git也会合并修改
    合并冲突
  • 首先,创建一个“change_site”的分支,切换过去,内容改为www.runoob.com
    切换1
  • 将修改的内容提交到 "change_site" 分支中。 现在,假如切换回 "master" 分支我们可以看内容恢复到我们修改前的,再次修改test.txt文件
    切换2
  • 现在这些改变已经记录到 "master" 分支了。接下来将 "change_site" 分支合并过来
    合并1
  • 将前一个分支合并到 "master" 分支,一个合并冲突就出现了,接下来需要手动去修改它
    合并2
  • 在 Git 中,可以用 git add 要告诉 Git 文件冲突已经解决
    分支合并
    现在就成功解决了合并中的冲突,并提交了结果

阿里云学习笔记转自阿里云大学https://edu.aliyun.com/

原文地址:https://www.cnblogs.com/yujiao-99/p/12582528.html