GIT分支开发规范

1、为什么要创建分支?

现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程:

  1. 开发某个网站。
  2. 为实现某个新的需求,创建一个分支。
  3. 在这个分支上开展工作。

假设此时,你突然接到一个电话说有个很严重的问题需要紧急修补,那么可以按照下面的方式处理:

  1. 返回到原先已经发布到生产服务器上的分支。
  2. 为这次紧急修补建立一个新分支,并在其中修复问题。
  3. 通过测试后,回到生产服务器所在的分支,将修补分支合并进来,然后再推送到生产服务器上。
  4. 切换到之前实现新需求的分支,继续工作。

这就是分支的作用, 分支就是科幻电影里面的平行宇宙,

你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。

如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!

2、怎样创建分支

随意创建分支可不可以?,当然是可以啦!!但是不建议,这样对自己对团队其他成员阅读时很不友好。现在说说GIT分支命名规范:

(1)master 主分支:

master 为主分支,也是用于部署生产环境的分支,确保 master 分支稳定性;master 分支一般由 develop 以及 hotfix 分支合并,任何时间都不能直接修改代码。

(2)develop 开发分支:

develop 为开发分支,始终保持最新完成以及 bug 修复后的代码;一般开发的新功能时,feature 分支都是基于 develop 分支下创建的。

(3)feature 新功能分支:

开发新功能时,以 develop 为基础创建 feature 分支;分支命名以 feature/ 开头的为特性分支,命名规则 feature/user_module、 feature/cart_module。

(4)release 预上线分支:

release 为预上线分支,发布提测阶段,会 release 分支代码为基准提测。

当有一组 feature 开发完成,首先会合并到 develop 分支,进入提测时,会创建 release 分支。如果测试过程中若存在 bug 需要修复,则直接由开发者在 release 分支修复并提交。当测试完成之后,合并 release 分支到 master 和 develop 分支,此时 master 为最新代码,用作上线。

(5)hotfix 紧急修复分支:

分支命名以 hotfix/ 开头的为修复分支,它的命名规则与 feature 分支类似;线上出现紧急问题时,需要及时修复,以 master 分支为基线,创建 hotfix 分支,修复完成后,需要合并到 master 分支和 develop 分支。

3、创建分支示例

(1)添加新功能的分支示例:

(develop/0.0.1) $ git checkout -b feature/task_modlue #基于develop/0.0.1分支创建新功能开发分支,并切换到新分支
#增加新功能任务模块
(feature/task_modlue) $ git add Task.html #任务模块文件Task.html添加到暂存区
(feature/task_modlue) $ git commit -m "新增任务模块" # 将所有修改提交到版本库
(feature/task_modlue) $ git checkout develop/0.0.1 #切换版本库到develop/0.0.1
(develop/0.0.1)$ git merge feature/task_modlue --no-ff  # 把feature/task_modlue分支合并到develop/0.0.1



(2)修复紧急 bug 分支示例

现在,你终于接到了一个紧急任务:视频无法播放,今天必须修复提交上线。

 于是准备开发

基于master创建hotfix/video_playback分支

 (master) $ git checkout -b hotfix/video_playback 

10分钟后修复完成,然后提交:


(hotfix/video_playback)$ git add test.txt
(hotfix/video_playback)$ git status
(hotfix/video_playback)$ git commit -m "修复视频无法播放"





现在,hotfix/video_playback分支的工作完成,我们就可以切换回master分支:

(hotfix/video_playback)$ git checkout master    

 现在,我们把hotfix/video_playback分支的工作成果合并到master分支上:

(master)$ git merge hotfix/video_playback

切换回develop/0.0.1分支,并将hotfix/video_playback分支合并到develop/0.0.1分支上

(master)$ git checkout develop/0.0.1

(develop/0.0.1)$ git merge hotfix/video_playback

(3)测试环境合并示例:

(release)$: git merge develop/0.0.1 --no-ff
# 把develop/0.0.1分支合并到release,然后在测试环境拉取并测试

(4)线上生产环境操作示例:

(master)$: git merge release --no-ff
# 把release测试好的代码合并到master,运维人员操作
(master)$: git tag -a v0.1 -m '部署包版本名'  #给版本命名,打Tag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值