开发者学堂课程【Git 基础入门到实战详解:Git 的分支操作】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/714/detail/12761
Git 的分支操作
内容介绍:
一、 分支管理
二、 分支测试
一、 分支管理
1、 什么是分支:
对于一个商城项目:
在公司开发一个商城项目,首先要用户模块、商品模块、订单模块和物流模块每个模块的工作人员互不干扰,内容也大不相同最后将每个模块儿的分支结合到一起,
形成完整的项目。
在公司中开发项目为多人协作开发以上图片未开发项目的分支模块。
所以可以将分支理解成每个模块的重要功能。
在版本回退的章节里,每次提交后都会有记录,Git 把它们串成时间线,形成类似于时间轴的东西,这个时间轴就是一个分支,我们称之为 master 分支,在开发的时候往往是团队协作,多人进行开发,因此光有一个分支是无法满是多人同时开发的需求的,并且在分支上工作并不影响其他分支的正常使用,会更加安全,Git鼓励开发者使用分支去完成一些开发任务。
Master:
线上仓库中重要的词句。
分支相关指令:
查看分支: git branch
创建分支: git branch 分支名
切换分支: git checkout 分支名
注解:
对于新分支,可以使用 “git checkout.b分支名"指令来切换分支,-b 选项表不创慎,相当于是两个操作指令。
删除分支: git branch-d 分支名
合并分支:git merge 被合并的分支名(将多个分支合并一起)
二、分支测试
测试:使用 ssh 网站 进行测试:
1、 进行查看分支:当前分支
当前只有一个 master 分支。注意:当前分支前面有个标记。颜色也变深了。在后面也有分支的名字。
2、 创建分支:
无所以不是当前分支。也没有变颜色。
3、 切换分支:
输入切换分支的指令,切换到 dev 分支。分支切换成功。
名字变绿也有梅花的标志。
4、 合并分支:
观察目录结构,并没有发生变化,跟之前的 master 目录结构是一样的。
进行修改文件,进行提交本地:
在 dev 分支下的 readme 文件中新增一行并提交到本地
关闭文件:
切换到 master 分支下观察 readme 文件
打开 readme 文件观察:
发现上一步新加的内容消失了。
由于新增的内容为 dev 中,所以在 master 中不会体现。
结论:分支是互不影响的。
由于后面需要合并,所以在 DEV 中有的文件在 master 中也应该有所体现.
将 dev 分支内容与 master 分支内容合并。
打开文件观察:合并成功。
刚才消失的内容重新出现:
合并好了之后,这个时候,相当于假设这个项目就已经做完了,所有的东西,已经往这个主分支里面去合并啊,合并好了之后,每个人开发的那个自己的模块的分支,就没有什么用了,这个时候,就可以考虑删除这个分支了。
5、 删除分支(dev)
由于已经将 dev 中的分支转移到 master 中,所以将删除 dev 中的分支:
删除后查看:只有 master 分支:
注意:在删除分支的时候,一定要先退出删除的分支。(当前的分支不能处于使用中的状态)
对线下仓库的分支进行了操作,回到线上刷新,线上的仓库并没有影响:只有一个分支刷新线上文件,发现 readme 文件只有一行的内容
让线上发生变化:进行提交
Git push:
提示我的权限不够。这个是之前用的一个文件。这个问题,应该是公私钥文件的问题啊。之前的一段时间,将公私钥文件换了,换成之前的公私钥。这样将把这个公
私钥文件,再给他换回来。把名称改成2,这是自己的公私钥文件里面的东西呢有很多这些都在用。
修改成功后继续执行:
进行刷新:
线上的内容与线下同步:
合并所有分之后,将 master 分支提交到线上远程仓库中。
小结:
分支这一块,它的目的,是为了应对多人开发,并且能够用分支在多人模块开发的时候,互不影响,互不干扰,所以,会有分支的一个操作,GIT 本身是鼓励用分支
进行完成的项目开发的。
那么分支指令,这个地方涉及到了五个,那么包括查看,创建切换,删除合并,那么其中查看叫 get branch 查看的时候,在当前分支前面会有一个特殊标记,并且当前分支会有颜色变化。
创建分支叫 get branch 加分支名。切换分支,git checkout 加分支名。
删除分支, git branch-d 分支名,合并分支叫 git merge 被合并的分支名。还有一个注意点,展现出分支的时候,一定要退出要删除的分支。