码迷,mamicode.com
首页 > 其他好文 > 详细

[工具] Git版本管理(二)

时间:2019-12-29 18:37:11      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:bug   就是   bsp   欧美   信息   研发   存在   某个版本   ast   

一、分支

1.git中如何保存版本

在我们以往使用文件来进行版本控制的时候,都是将上一个版本复制一份,然后在其基础上进行修改。

但在git中,git只保存当前版本和上一个版本之间的差异,这样可以节省存储空间, 在生成版本的时候速度也会更快。

 

2.Master主线

如下图所示:

技术图片

 

 

当只有一条主线Master时,新版本都是在上一个版本的基础上进行修改的,例如Version2在Version1的100个文件基础上,新增了20个文件,并修改了其中10个文件。

也就是说Version2只需要保存新增的20个文件,以及修改的10个文件的修改信息,当我们需要Version2的时候,git再去Version1中拿未修改的90个文件。

同理,Version3、Version4也是如此。

 

3.分支概念

当我们需要已某个版本作为基准,同时开发多个新功能,则可能在该基准版本处产生分支,如下图所示:

技术图片

 

处理线上系统的紧急BUG:

例如,Version3是已上线的版本, 我们在Version3的基础上开发新功能:

技术图片

 

Version3突然出现紧急BUG,需要修复,怎么办?我们可以在Version3的基础上新开一个分支,专门用作BUG修复,修复完后合并到主分支:

技术图片

 

 

 

 而负责新功能开发的分支,可以继续研发新功能,不受影响。等到新功能开发测试完毕后,也可以合并到主分支Master中去。

 

4.创建分支(开发新功能)

1)查询分支信息

git branch

技术图片

 

 

可以看到,我们目前只有一个master主分支。

2)创建新的分支(开发商城功能)

git branch dev_shop

使用命令创建了一个分支,叫做dev_shop。用于开发新功能,商城。

技术图片

 

 

"*"号代表我们所处的分支。

3)切换分支

使用命令:

git checkout dev_shop

技术图片

 

 

可以看到,我们已经切换到了dev_shop分支,我们在这个新分支下编写代码,是不会影响到其他分支的。

通过git log查看一下版本信息:

技术图片

 

 

 可以看到,我们所处的版本是"修改约饭-->约",但是分支处于dev_shop。而在这个版本处存在两个分支:master和dev_shop。相当于下图所示:

技术图片

 

如果我们在dev_shop分支上再生成一个版本,则会变成如下:

技术图片

 

在分支中添加了商城功能后,使用git log查看版本信息:

技术图片

 

 

5.创建分支(修改BUG)

 1)切换回master分支

git checkout master

2)创建新分支(修改BUG)

git branch bug

查看分支:

git branch

技术图片

 

 

3)切换到BUG分支

git checkout bug

修改代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Index</title>
</head>
<body>
    <ul>
        <li>欧美</li>
        <li>日韩</li>
        <li>港台澳</li>
        <li>直播</li>
        <li></li>
    </ul>
</body>
</html>

将"港台"修改为"港台澳"。并提交生成新的版本。

此时查看git log:

技术图片

 

 

 此时的分支结构为:

技术图片

 

6.合并分支

将bug分支合并到master分支中。

1)切换回master分支

git checkout master

技术图片

2)合并bug分支

git merge bug

技术图片

 

查看当前的版本信息:

技术图片

 

 当前的分支结构:

技术图片

7.删除分支

当Master分支将bug分支合并之后,bug分支就没用了,可以使用命令删除bug分支:

git branch -d bug

删除后,查看当前分支信息:

技术图片

可以看到bug分支已经被删除。

 

8.继续开发dev_shop

1)从Master切换到dev_shop

git checkout dev_shop

2)继续开发dev_shop,并提交

技术图片

 

 

9.将dev_shop合并到Master中

1)切换回Master分支

git checkout master

2)合并dev_shop分支

git merge dev_shop

当合并的时候,如果没有冲突(例如都是添加代码),则可以自动合并。

自动合并后会生成一个新的版本:

技术图片

如果产生了冲突(例如修改了同一行代码),则自动合并失败。

当产生冲突的之后,git会将两个文件所修改的地方全部放在文件中,然后由我们人工进行处理:

技术图片

 

 我们人工修改为最终版本后,再次进行git add 、 git commit操作,重新提交即可。手工生成的版本信息,由我们自己指定。

 

二、分支总结

1.查看分支

git branch

2.创建分支

git branch 分支名

3.切换分支

git checkout 分支名

4.合并分支

git merge 分支名

注意,假设分支2要合并到分支1中,则需要切换到分支1中执行"git merge 分支2"。

[工具] Git版本管理(二)

标签:bug   就是   bsp   欧美   信息   研发   存在   某个版本   ast   

原文地址:https://www.cnblogs.com/leokale-zz/p/12115554.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!