admin管理员组文章数量:1650768
Git分支管理
Git简介
工作区域
Git有四个工作区域:工作区,暂存区,本地仓库和远程仓库。
- Workspace:工作区,就是你平时存放项目代码的地方
- Index / Stage:暂存区,用于临时存放你的改动,保存即将提交到文件列表信息
- Repository:本地仓库,就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
- Remote:远程仓库,托管代码的服务器。
工作流程
Git的工作流程一般是这样的:
-
在工作目录中添加、修改文件
-
将需要进行版本管理的文件放入暂存区域
-
将暂存区域的文件提交到git仓库
Git版本管控和发布
- master:主分支。所有用户可见的正式版本,都从master发布,不做任何开发。
- develop:开发分支。这个分支维护了当前开发中代码的主线,始终保持代码新于master。开发分支只提供拉取,不进行实际开发。
- feature:功能分支。从develop拉取,开发feature完成,merge到develop分支。
- release:发布分支。从develop拉取,进行代码测试,测试后合并到master分支和develop分支。
- hotfix:热修复分支。用于修复线上问题,从master拉取,修复并测试完成合并到master和develop。
分支 | 拉取源 | 合并目标 | 修改 | 生命期 |
---|---|---|---|---|
master | 无 | 无 | 不允许 | 持续 |
develop | master | 无 | 不允许 | 持续 |
feature | develop | develop | 允许 | 合并后删除 |
release | develop | master & develop | 允许 | 合并后删除 |
hotfix | master | master & develop | 允许 | 合并后删除 |
- 新建一个仓库自动创建master分支,新建develop分支基于master分支。
- 假设有两个开发模块需要进行开发,因此创建两个feature分支,feature-1开发并自测完成,合并到develop分支,feature-2开发完成后需要先pull一下develop分支,解决文件冲突并完成自测,然后在合并到develop分支。
- 开发完成后,测试人员创建release分支进行测试,测试完成后合并到master分支和develop分支。
- 生产版本出现问题,创建一个hotfix分支进行修改,修改完成合并到master分支和develop分支
拉取远程仓库代码方法
-
复制远程仓库url
-
克隆远程仓库
git clone 远端仓库url
-
克隆下来之后默认是master分支,想要拉取非master分支的代码,需要切换本地分支
本地分支要与远程分支同名
git branch -a // 查看所有分支,包括本地和远程 git checkout develop // 本地分支名字要与远程分支相同
-
更新当前分支的代码
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
本文标签: 分支MasterGitdevelopHotfix
版权声明:本文标题:Git分支管理(master,develop,feature,release,hotfix) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729530774a1204773.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论