Git分支管理(master,develop,feature,release,hotfix)

Git分支管理

Git简介

工作区域

Git有四个工作区域:工作区,暂存区,本地仓库和远程仓库。

  • Workspace:工作区,就是你平时存放项目代码的地方
  • Index / Stage:暂存区,用于临时存放你的改动,保存即将提交到文件列表信息
  • Repository:本地仓库,就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote:远程仓库,托管代码的服务器。

Git四个工作区域

工作流程

Git的工作流程一般是这样的:

  1. 在工作目录中添加、修改文件

  2. 将需要进行版本管理的文件放入暂存区域

  3. 将暂存区域的文件提交到git仓库

Git版本管控和发布

  • master:主分支。所有用户可见的正式版本,都从master发布,不做任何开发。
  • develop:开发分支。这个分支维护了当前开发中代码的主线,始终保持代码新于master。开发分支只提供拉取,不进行实际开发。
  • feature:功能分支。从develop拉取,开发feature完成,merge到develop分支。
  • release:发布分支。从develop拉取,进行代码测试,测试后合并到master分支和develop分支。
  • hotfix:热修复分支。用于修复线上问题,从master拉取,修复并测试完成合并到master和develop。
分支拉取源合并目标修改生命期
master不允许持续
developmaster不允许持续
featuredevelopdevelop允许合并后删除
releasedevelopmaster & develop允许合并后删除
hotfixmastermaster & develop允许合并后删除

在这里插入图片描述

  • 新建一个仓库自动创建master分支,新建develop分支基于master分支。
  • 假设有两个开发模块需要进行开发,因此创建两个feature分支,feature-1开发并自测完成,合并到develop分支,feature-2开发完成后需要先pull一下develop分支,解决文件冲突并完成自测,然后在合并到develop分支。
  • 开发完成后,测试人员创建release分支进行测试,测试完成后合并到master分支和develop分支。
  • 生产版本出现问题,创建一个hotfix分支进行修改,修改完成合并到master分支和develop分支

拉取远程仓库代码方法

  1. 复制远程仓库url

  2. 克隆远程仓库

    git clone 远端仓库url
    
  3. 克隆下来之后默认是master分支,想要拉取非master分支的代码,需要切换本地分支

    本地分支要与远程分支同名

    git branch -a  // 查看所有分支,包括本地和远程
    git checkout develop  // 本地分支名字要与远程分支相同
    
  4. 更新当前分支的代码

    git pull origin develop
    

常用指令

  • 添加所有文件到暂存区:git add .
  • 提交暂存区中的内容到本地仓库 -m 提交信息:git commit -m “消息内容”
  • 拉取远程仓库:git pull [remoteName] [localBranchName]
  • 推送远程仓库:git push [remoteName] [localBranchName]
  • 查看指定文件状态:git status [filename]
  • 查看所有文件状态:git status
  • 列出所有本地分支:git branch
  • 列出所有远程分支:git branch -r
  • 列出所有分支:git branch -a
  • 新建一个分支,但依然停留在当前分支:git branch [branch-name]
  • 切换到该分支:git checkout [branch]
  • 新建一个分支,并切换到该分支:git checkout -b [branch]
  • 合并指定分支到当前分支:git merge [branch]
  • 删除分支:git branch -d [branch-name]
  • 删除远程分支:git push origin --delete [branch-name]/git branch -dr [remote/branch]
  • 更新缓存(远端仓库):git fetch origin
  • 将 origin/HEAD 指向远程仓库的默认分支:git remote set-head origin -a
  • 将 origin/HEAD 指向 (origin/dev):git remote set-head origin dev
  • 删除 origin/HEAD:git remote set-head origin -d
  • 提交本地feature分支作为远程的develop分支:git push origin feature: develop
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值