四时宝库

程序员的知识宝库

Git 分支管理及获取更新远程分支列表并检出指定分支

主分支

实际开发中,一个仓库(通常只放一个项目)主要存在两条主分支:masterdevelop分支。这个两个分支的生命周期是整个项目周期。就是说,自创建出来就不会删除,会随着项目的不断开发不断的往里面添加代码。master分支是创建git仓库时自动生成的,随即我们就会从master分支创建develop分支,如下图所示。

master:这个分支最为稳定,这个分支代表项目处于可发布的状态。

develop:作为开发的分支,平行于master分支。

通过以上分析可以发现,我们可以使用Git hook 脚本自动发布发布新的版本,具体就是每当有代码从develop分支合并到master分支的时候,脚本就会自动触发,编译发布新的版本。

功能分支

这些分支都是为了程序员协同开发,以及应对项目的各种需求而存在的。这些分支都是为了解决某一个具体的问题而设立,当这个问题解决后,代码会合并回主分支develop或者master后删除,一般我们会人为分出三种分支。


Feature branches:这种分支和我们程序员日常开发最为密切,称作功能分支。

必须从develop分支创建,完成后合并回develop分支

如下图所示:


具体事例可以参考上面王二狗完成登录注册功能时的做法。

Release branches:这个分支用来分布新版本。

develop分支创建,完成后合并回developmaster分支。

这个分支上可以做一些非常小的bug修复,当然,你也可以禁止在这个分支做任何bug的修复工作,而只做版本发布的相关操作,例如设置版本号等操作,那样的话那些发现的小bug就必须放到下一个版本修复了。如果在这个分支上发现了大bug,那么也绝对不能在这个分支上改,需要Feature分支上改,走正常的流程。



Hotfix branches:这个分支主要为修复线上特别紧急的bug准备的。

必须从**master**分支创建,完成后合并回**develop****master**分支。

如下图所示:

这个分支主要是解决线上版本的紧急bug修复的,例如突然版本V0.1上有一个致命bug,必须修复。那么我们就可以从master 分支上发布这个版本那个时间点 例如 tag v0.1(一般代码发布后会及时在master上打tag),来创建一个 `hotfix-v0.1.1`的分支,然后在这个分支上改bug,然后发布新的版本。最后将代码合并回developmaster分支。


总结图

上面的讲解最后汇成一张图


以下是获取更新远程分支列表并检出指定分支

一、git 查看本地已有分支情况:

$ git branch -a
* develop
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/master

二、git 拉取更新远程分支列表

git remote update origin --prune

三、拉取远程分支并创建本地分支

格式:git checkout -b 本地分支名x origin/远程分支名x

示例:
git checkout -b develop remotes/origin/develop

git status
# On branch develop
nothing to commit, working directory clean


发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接