文章标题Git及Git Flow介绍
来源:互联网 发布:淘宝上的jbl是真的吗 编辑:程序博客网 时间:2024/05/20 22:35
Git介绍
为什么选择Git
- 快
- 查看历史
- 版本比较
- 不需要联网
- 分支很便宜
- 灵活的发布模型
- git flow
Git Flow
简介
详细信息可以参考:A successful Git branching model
- master: 线上分支,和当前的线上版本一致
- develop: 开发分支,所以相对稳定的feature/bugfix。
- release: 发布分支,作为下个版本的发布候选。不再接受新的feature,只接受bugfix和其他与发布相关的修改(版本号,文档……)。
- feature-*: 功能分支,用于开发新的功能。
- hotfix: 修复分支,用于修复上线后发现的重大bug。
- tag: 所有线上版本的快照,用于存档。
安装
提示:如果你没有装过
Homebrew
,需要先安装。将以下命令贴在OS X的Terminal(终端)里,回车即可。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装`git-flow`
brew install git-flow
使用
查看帮助
git flowgit flow featuregit flow releasegit flow hotfix
初始化
mkdir helloworldcd helloworldgit initgit flow init# 一路回车(使用默认)
初始化完成后,默认分支为develop
。
创建一个feature分支
开始一个新的feature: cool_feature
git flow feature start cool_feature
这个操作会从develop
分支创建出一个新的分支feature/cool_feature
。
之后就可以在feature/cool_feature
下进行开发。
合并feature分支到develop
当完成cool_feature
的开发以后,需要将其合并到develop分支。
git flow feature finish cool_feature
之后cool_feature
分支会被合并至develop
分支。合并成功之后cool_feature
分支会被自动删除。
创建release分支
当新版本的feature开发基本结束以后,可以创建release分支。release分支不再接受新的feature,只做bugfix,修改发布文档等与发布相关的修改。
检查本地有没有未提交的,是否是干净的状态
git status
如果有的话,diff一下,看是否要提交
git diff
开始创建release分支
git flow release start v1.0.0
推送到服务器
git push origin release/v1.0.0
发布release分支
git flow release finish v1.0.0
这个操作会
1. 将release
分支合并到master
分支。
2. 创建tag
。
3. 将release
分支合并到develop
分支。
4. 删除release
分支。
创建修复分支
git flow hotfix start issue-330
这个操作会从master
分支创建hotfix
分支。
之后,再该分支上进行fix等操作。
合并修复分支
git flow hotfix finish issue-330
这个操作会:
1. 将hotfix
分支合并到master
分支。
2. 创建tag
。
3. 将hotfix
分支合并到develop
分支。
4. 删除hotfix
分支。
Git的日常使用
创建新的Git版本库
git init
查看本地branch
git branch
查看本地所有branch(包括远程)
git branch -a
切换到具体的分支
git checkout branch-name
把本地的 branch-name 分支内容推送到服务器的 branch-name 分支
git push origin branch-name
更新,可以认为是 fetch 和 merge 的合集
git pull origin branch-name
拉取服务器分支到本地
git branch branch-name origion branch-name
删除本地分支
git branch -D branch-name
检查状态
git status
TBC
- 文章标题Git及Git Flow介绍
- git flow介绍
- git-flow
- git-flow
- git flow
- git-flow
- Git Flow
- git flow
- git-flow
- git flow
- git flow
- git flow
- git flow
- git flow
- git-flow
- git-flow
- git-flow
- Git Flow
- 解决get方法传递URL参数中文乱码和解决tomcat下中文乱码问题
- 宽字符文本的处理
- JavaScript语言基础(二)
- 20150728 JavaScript进阶学习笔记(下)
- oracle分页的实现
- 文章标题Git及Git Flow介绍
- 关于虚拟机的几个问题?
- POJ 1961 Period(KMP next数组巧用)
- NFS server和NFS client tomcat OS用户必须具有相同的UID和账号
- Redis——五种数据类型
- 将本地git仓库推送到github上
- [JQuery学习笔记]——之二
- HDU 4612 and 4607 (tarjan求桥+树形dp求树的直径)
- 【十三】先把东西整理上来吧,以免会忘记~