正确的git开发流程
正确的git开发流程
第一步
在github中创建一个新的仓库,这时候项目是空的,而且只有一个master分支
第二步
第一个开发人员进来了,他在本地创建一个develop分支,并且提交到远程
git branch develop
git push -u origin develop
现在线上就有两个分支master 和 develop 现在这两个分支里面都是空的
第三步
一、二步完成后,任何一个参与该项目的开发人员首先要做的就是从develop分支上切一个新分支进行功能开发
git checkout -b <本地分支名 feature/***> <origin/develop>
或者
git fetch origin 远程分支名:本地分支名
git branch --set-upstream-to=origin/远程分支名 本地分支名
然后进行开发,开发差不多,想提交一下
git status
git add
git commit
第四步
经过第三步,提交了几次后,感觉差不多了,就可以合并到develop分支
git pull origin develop //先拉取develop中的代码,因为有可能别人已经往上提交过代码了
git checkout develop//切到develop分支
git merge <feature/**>//合并feature/**中的代码到develop中
git push //提交到develop远程分支上
git branch -d feature/** //删除本地的分支
第五步
某一个开发人员想发布,但是其他人员还在进行开发,先不管别人,他先建立一个新的分支做发布准备
git checkout -b <本地分支名realse-0.1> <远程分支名develop>//注意这个realse-tagNo分支的功能是对发布的代码进行改善的地方
创建这个分支相当于测试环境修改,改好后就需要跟新master和develop,然后删除分支
git checkout master//切到master分支
git merge release-0.1//将release分支合到master上
git push//将合完的代码提交到远程master
git checkout develop//切到develop分支
git merge release-01//将release分支上的代码合到develop分支上
git push//合完的代码推送到远程的develop分支
git branch -d release-01//删除本地release分支
第六步
打tag追踪,这个过程不太了解
git tag -a -0.1 -m 'xxxxxx'
git push --tags
Git有提供各种勾子(hook),即仓库有事件发生时触发执行的脚本
。可以配置一个勾子,在你push中央仓库的master分支时,自动构建好对外发布
难道这就是传说中的自动化构建???
第七步
线上环境发现bug了
git checkout -b hotfix/xxx master//从master分支上新建分支
然后开始改bug,改完后
git checkout master//切回master分支
git merge hotfix/xxx//将改完bug后的代码合并到master
git push
改完bug的代码还要合到develop中
git checkout develop
git merge hotfic/xxx
git push
git branch -d hotfix/xxx
作者:蔺亚静
链接:https://www.jianshu.com/p/abba038e1a63
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
https://www.jianshu.com/p/abba038e1a63
正确的git开发流程的更多相关文章
- FastAdmin 插件的 Git 开发流程(简明)
FastAdmin 插件的 Git 开发流程(简明) cms zip 安装 包安装 删除 addons 里的 cms 使用 mklink 软链接到 cms 插件 Git 仓库 修改 cms 插件 gi ...
- git开发流程、常用命令及工具、TortoiseGit使用及常见问题
根据我最近使用git的一些经历,git是基于分支的版本控制工具,分支有远程分支和本地分支. 一.开发流程 - 从远程服务器的master,clone一份项目文件到本地,然后本地master的基础上br ...
- [git]git开发流程
git开发正确做法: 本地要有一个分支A和远端的分支保持对应 然后本地新开分支B开发,提交记录 如果需要将代码推送到远端的话,就切换回A,首先在A分支上pull同步远端的代码(pull还是fetch+ ...
- 公司项目git开发流程规范
手动修改冲突之后,git add . git commit ,git push
- git开发流程
典型的工作流程和做法是,由于你没有远程仓库的权限,你先在github通过fork,复制自己的一份远程仓库,然后通过clone你自己这个远程副本到本地,进行修改,修改后push到自己的githu远程副本 ...
- GIT 开发流程
1.git clone 使用 git clone 将一个项目下载到本地 2.git checkout -b branchName 新建一个branchName的本地分支 3.git add file/ ...
- 最近在搞gitlab发现2个不错的开发流程分享一下
一个不错的gitlab开发流程 http://blog.51cto.com/sgk2011/1925922 不错的git开发流程 https://www.cnblogs.com/coderzl/p/7 ...
- Gitblit搭建及Git协作开发流程
1. 概述 目前主流的是git作为自己代码管理,但是采用github需要付费才能够使用,如果不付费,代码需要公开.创业团队及小型开发团队都有必要搭建自己的代码服务器,自己摸索需要一定的时间,会赶不及项 ...
- 5 个 Git 工作流,改善你的开发流程
原文地址:5 Git workflows you can use to deliver better code and improve your development process 原文作者:Vi ...
随机推荐
- PAT1091:Acute Stroke
1091. Acute Stroke (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue One impo ...
- PAT1130:Infix Expression
1130. Infix Expression (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Give ...
- linux下安装nginx与配置
linux系统为Centos 64位 第一步:从http://nginx.org/download/上下载相应的版本(或者wget http://nginx.org/download/nginx-1. ...
- Centos7搭建hadoop完全分布式
虽然说是完全分布式,但三个节点也都是在一台机器上.拿来练手也只能这样咯,将就下.效果是一样滴.这个我自己都忘了步骤,一起来回顾下吧. 必备知识: Linux基本命令 vim基本命令 准备软件: VMw ...
- JavaScript-通过原型继承一个对象
<script> //通过原型继承一个对象 //inherit()返回了一个继承原自原型对象P的属性的新对象 //這裡使用ECMAScript5中的object.create()函數(如果 ...
- mac里用PyCharm中引用MySqlDB始末
本来想用java来连数据库,然后调用python的,后来想了想,反正是个实验性质的小工程何必搞的这么复杂.直接全部python就好了,于是就为这个想法填了一晚上的坑. 装好了PyCharm的CE版,然 ...
- C# 读取XML节点属性值
xml文件格式如下: <?xml version="1.0" encoding="UTF-8" ?> <Product type=" ...
- 跨域问题实践总结! 上(JSONP/document.domain/window.name)
1. JSONP 首先要介绍的跨域方法必然是 JSONP. 现在你想要获取其他网站上的 JavaScript 脚本,你非常高兴的使用 XMLHttpRequest 对象来获取.但是浏览器一点儿也不配合 ...
- java 中 一个int类型的num,num&1
n&1 把n与1按位与,因为1除了最低位,其他位都为0,所以按位与结果取决于n最后一位,如果n最后一位是1,则结果为1.反之结果为0.(n&1)==1: 判断n最后一位是不是1(可能用 ...
- java基础学习周计划之1--语言基础
JAVA语言基础第一天一. 知识点:1. 认识Linux操作系统2. JAVA开发环境3. Eclipse IDE二. 关键问题(理论):1. Linux中常用命令pwd.ls.cd的作用2. 简述J ...