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

一、分支

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"。

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

时间: 2024-11-13 10:44:50

[工具] Git版本管理(二)的相关文章

[工具] Git版本管理(知识总结)

对以下文档进行了简要总结,方面复习: [工具] Git版本管理(一)(基本操作) [工具] Git版本管理(二)(分支) [工具] Git版本管理(三)(工作流) [工具] Git版本管理(四)(贡献开源代码.git配置.git免密.gitignore) 原文地址:https://www.cnblogs.com/leokale-zz/p/12141997.html

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

一.快速解决冲突 1.安装Beyond Compare软件 下载BCompare软件,并安装. 删除安装目录下的BCUnrar.dll文件. 使用码: w4G-in5u3SH75RoB3VZIX8htiZgw4ELilwvPcHAIQWfwfXv5n0IHDp5hv 1BM3+H1XygMtiE0-JBgacjE9tz33sIh542EmsGs1yg638UxVfmWqNLqu- Zw91XxNEiZF7DC7-iV1XbSfsgxI8Tvqr-ZMTxlGCJU+2YLveAc-YXs8ci

Git 版本管理工具命令速查

转自:http://www.jb51.net/article/55442.htm 一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释 git remote add origin [email protected]:ndshowgit push origin mast

Git 版本管理工具(一)

Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器) 1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便. Git 的速度很快,这对于诸如 Linux kerne

git版本管理工具的上手

git是一个分布式的版本管理工具 和其他集中式版本管理 工具相比具有以下优点: 1.可以在不联网的情况下开发 2.可以方便的建立本地分支 3.本地化的日志,快速获得信息 git命令的使用 mkdir /d/myproject  (在本地d盘下面创建一个名为myproject的本地仓库) cd /d/myproject    (切换到该目录下) git init  (初始化为主枝) git add filename  (添加一个文件的记录   一次只能添加一个文件) git commit -m "

GIT版本管理工具

原文:http://blog.csdn.net/ithomer/article/details/7527877 Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器) 1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本库的方

Git——版本管理工具(一)

Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器) 1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便. Git 的速度很快,这对于诸如 Linux kerne

版本管理工具git与svn简介

版本管理工具 版本管理工具简介 常见版本管理工具 cvs(Concurrent Versions System) vss(Visual SourceSafe) svn 常用的版本管理工具 git 流行的版本管理工具(分支管理强于svn) bitkeeper hg cc(ClearCase) SVN 常用指令 checkout 下载代码 update 从服务器更新本地代码代码 add 向服务器添加文件 commit 提交本地的更改到服务器 showlog 查看版本日志 GIT git init 新

Git 版本管理的简单理解

来源:百度知道 现在使用Git版本管理代码的项目非常多.但是Git本身是一条复杂的系统.我从几个简单的点来说明Git的基本功能.希望能帮助初学者快速入门. 工具/原料 Git code dot jd dot com TortoiseGit 方法/步骤 建一个目录.经过图二的Git Create Repository后.变成了一个含有.git系统目录的文件夹.工作目录可以放入自己的项目文档.   在工作目录下放入项目的文档.(Git对于非Asc码文件支持不太好,如word文档.所以尽可能避免同时多