版本控制系统Git进阶(一)

作者: qiaoStr | 来源:发表于2016-07-11 16:06 被阅读434次
上一篇版本控制系统Git 入门(三)

分支管理

强大的分支管理是git的一大优势之一,当然有集中式管理系统SVN的也有分支的管理,但相比git相对弱很多。那么分支在实际中有什么作用呢?假设你和另一个同事是一起合作开发一个项目的,这时候你正打算开发新的需求,而你的同事还在原来的版本上修改bug,而你的正在开发的新需求在时间上和风险上不是很得到控制估计会影响到你的同事在修改bug,因此你不如创建一个属于你自己的分支,然后你开发完后再合并回原来的分支上,这样就造成两不误了。互不影响。其实发布版本的分支(一般叫Master分支)和正常开发(修改bug)的分支还有另有需求需要修改的分支都是需要的,如下图


Master分支

master分支是git默认提供的分支,基本上所有的开发都是以master为中心进行开发,不同分支进行作业之后都会与master分支进行合并,如下图


提示:再次提醒上篇中提到的HEAD,HEAD是指向当前分支中的最新提交。

显示分支一览表git branch

git branch可以显示分支名列表,并且用*表示当前所在的分支。


解析:
根据命令提示,当前只有master分支,并且当前是在master分支下进行开发。

创建分支git branch <name>

使用命令git branch featureA 创建分支featureA。再使用git branch查看分支列表。

解析:创建了分支featureA,但是还是在master分支上进行作业。

切换分支git checkout <name>

在上面操作的基础上使用命令git checkout featureA切换到分支featureA上,再使用命令 git branch查看当前所在的分支

创建、切换分支 git checkout -b

但常常会使用git checkout -b 分支名 来创建并切换分支,它相当于执行了创建和切换两条命名。

解析:
由上图的两条命令知道,创建了featureB并且切换到了featureB中。

切回上一个分支git checkout -

使用命令 git checkout -是切回到上一个命令。

git merge 合并分支

切换到分支featureA,在git.txt上加入一行add featureA,然后提交到分支上,切换到分支master,查看git.txt看出现了啥?



解析:
刚刚提交的 ,因为HEAD指向的是featureA分支,所以你做的任何修改和提交都是发生在featureA上,对master分支没有任何影响。

现在,切换回master分支,在master分支上,合并featureA分支,使用git merge featureA,再使用cat git.txt查看git.txt的内容。

解析:可以看到“add featureA”,已经添加进来了。

删除分支git branch -d <name>

继续上面的操作,在featureA上做的操作已经完成也合并到了master分支上,那么featureA已经没有任何意义了(注意:开辟一个分支最好只做一个功能),那么就应该删除它,使用git branch -d featureA把分支featureA删除。

解析:根据提示,featureA分支成功删除。

以图表形式查看分支git log --graph

输入命令git log --graph以图表的形式查看log。


非常直观,请经常使用。

下一篇版本控制系统Git 进阶(二)

相关文章

  • git的及基本使用

    git 版本控制系统(VCS) 本地式版本控制系统 集中式版本控制系统 SVN 分布式版本控制系统 Git g...

  • 版本控制系统Git进阶(一)

    上一篇版本控制系统Git 入门(三) 分支管理 强大的分支管理是git的一大优势之一,当然有集中式管理系统SVN的...

  • 版本控制系统Git进阶(二)

    上一篇版本控制系统Git 进阶(一) 产生冲突 创建分支featureA与分支featureB(注:还不懂怎么创建...

  • 01、版本管理-GIT

    一、版本控制 二、版本控制软件 GIT 分布式版本控制系统 SVN 集中式版本控制系统 三、git安装 四、win...

  • 01、版本管理-GIT

    一、版本控制 二、版本控制软件 GIT 分布式版本控制系统 SVN 集中式版本控制系统 三、git安装 四、win...

  • 关于在项目中使用git的工具选择

    作为版本控制的新秀,git已经成为主流的代码版本控制系统。git不同与svn、cvs等集中版本控制系统。git作为...

  • git学习手册

    Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一)。 什么是版本控制系统? 没有版本控制系统...

  • Git

    Git概念 Git是最先进的分布式版本控制系统。 CVS和SVN是集中式的版本控制系统。 版本控制系统,只能跟踪文...

  • GIT简介和使用

    1、git简介 git是一个分布式版本控制系统(如git、bitkeeper),集中化版本控制系统有cvs、svn...

  • Git学习笔记-基础知识

    Git的特点 分布式版本控制系统 Git是分布式版本控制系统(Distributed Version Contro...

网友评论

本文标题:版本控制系统Git进阶(一)

本文链接:https://www.haomeiwen.com/subject/yeqjjttx.html