一、文章内容
- git和分支相关的概念.
- git和分支有关的命令.
- git项目实战环节.
二、相关概念
分支:分支的概念好比树干的分支,每一跟分支都是从主干分出来的,营养是主干给的,所以在git里主干和分支也是如此,在git里主分支是默认有的也只能有一个,名字是master,然后分支可以有好多个,一般情况下,master主分支里放的内容是正式项目(可以跑在服务器的内容),主干和分支的关系如图1所示.
图1 分支和主干的关系
分支可以是无数多个,可以在主干的任意地方.
三、真实项目-紧急bug修复
问题描述:假设我们现在上线一个网站index.html,这个网页内容是如图2所示,并且已经在master(主干)生成一个新版本了是v1,秃然你的上司要求你开发一个新功能,在导航栏加一个听歌功能,然后为了项目正常运行你生成一个枝干叫做music,后你开发你的音乐模块,过了2周,你的音乐功能开发到50%,然后发现线上项目出现了bug,需要你紧急修复以下,这时候你音乐功能写了一半,然后又让你修复v1的bug,你该怎么办?是选择回滚到v1,修改bug后继续重新写音乐功能还是,怎么办?在没学习分支你只能复制音乐的功能,然后回滚到v1修改bug然后手动将音乐相关代码复制上去,接着写剩下的50%,在你学习过后你可以生成一个新分支,叫修改bug,然后合并到主分支,然后接着写音乐代码,所有音乐代码写完,然后继续合并分支到主干,这样就解决了紧急bug修复.
图2 index主页内容
步骤:
1.使用git branch music创建一个分支叫music,分支创建好后,接着在index.html继续编写代码,不会影响master的代码所以我们可以尽情开发,然后我们开发mnusci代码,如图3所示.
图3 音乐模块开发50%
2.现在你的老板跟你说线上运行的版本出现bug了,你赶快去修复一下,我们现在开开始修复bug,在修复bug前,注意需要将music开发的内容提交版本,如图4所示.
图4 提交已开发50%的音乐程序
3.接着回到主分支master,语法git checkout master ,然后创一个修改bug分支,语法git branch bug_hange,然后修改index.html页面进行bug修复,修复好的界面如图5所示.然后切换回主分支,然后进行合并,语法git checkout master ,然后合并语法:git merge bug_change,一定要注意: 先要切换到主分支然后进行合并,因为线上代码在主分支跑,如果合并到bug_change分支,先上代码任然有bug,未得到解决,所以务必注意.合并结果如图6所示.然后我们提交代码生成v2.使用的是昨天讲的git add .和commit语法.
图5 bug修改完毕
图6 合并的结果
4.现在我们将bug修复完毕,线上代码正常,接着开发我们musci功能,切换到musci分支语法:git checkout music,然后开发…开发完毕,提交内容生成v3版本,依然使用git add, commit,然后切换到master分支,进行合并.直接git merge music,然后提交生成v4版本,然后我们打开index.HTML,如图7所示.
图7 bug修复,音乐功能上线
根据上述4个步骤就可以完成在新功能开发时,修改线上bug了
四、技术总结
本章所需要的命令;
命令 | 解释 |
---|---|
git branch | 查看本地分支 |
git branch 分支名 | 新增分支 |
git branch -d 分支名 | 删除分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 合并分支 |
本节需要掌握上述代码,并且可以清晰理清上述代码,即可.在掌握命令的基础上,结合项目实战熟练掌握该基本技能.
如果在学习过程中有什么不懂的地方,欢迎Liuyan.