正确的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开发流程的更多相关文章

  1. FastAdmin 插件的 Git 开发流程(简明)

    FastAdmin 插件的 Git 开发流程(简明) cms zip 安装 包安装 删除 addons 里的 cms 使用 mklink 软链接到 cms 插件 Git 仓库 修改 cms 插件 gi ...

  2. git开发流程、常用命令及工具、TortoiseGit使用及常见问题

    根据我最近使用git的一些经历,git是基于分支的版本控制工具,分支有远程分支和本地分支. 一.开发流程 - 从远程服务器的master,clone一份项目文件到本地,然后本地master的基础上br ...

  3. [git]git开发流程

    git开发正确做法: 本地要有一个分支A和远端的分支保持对应 然后本地新开分支B开发,提交记录 如果需要将代码推送到远端的话,就切换回A,首先在A分支上pull同步远端的代码(pull还是fetch+ ...

  4. 公司项目git开发流程规范

    手动修改冲突之后,git add . git commit ,git push

  5. git开发流程

    典型的工作流程和做法是,由于你没有远程仓库的权限,你先在github通过fork,复制自己的一份远程仓库,然后通过clone你自己这个远程副本到本地,进行修改,修改后push到自己的githu远程副本 ...

  6. GIT 开发流程

    1.git clone 使用 git clone 将一个项目下载到本地 2.git checkout -b branchName 新建一个branchName的本地分支 3.git add file/ ...

  7. 最近在搞gitlab发现2个不错的开发流程分享一下

    一个不错的gitlab开发流程 http://blog.51cto.com/sgk2011/1925922 不错的git开发流程 https://www.cnblogs.com/coderzl/p/7 ...

  8. Gitblit搭建及Git协作开发流程

    1. 概述 目前主流的是git作为自己代码管理,但是采用github需要付费才能够使用,如果不付费,代码需要公开.创业团队及小型开发团队都有必要搭建自己的代码服务器,自己摸索需要一定的时间,会赶不及项 ...

  9. 5 个 Git 工作流,改善你的开发流程

    原文地址:5 Git workflows you can use to deliver better code and improve your development process 原文作者:Vi ...

随机推荐

  1. Java并发之乐观锁悲观锁

    定义 乐观锁和悲观锁这两种锁机制,是在多用户环境并发控制的两种所机制. 悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作.[1]常见实现如独占锁.乐观锁:假设不会发生并发冲突,只在提交操作 ...

  2. MySQL 各类日志文件介绍

    日志文件 1.错误日志 ErrorLog 错误日志记录了MyQLServer运行过程中所有较为严重的警告和错误信息,以及MySQLServer每次启动和关闭的详细信息. 在默认情况下,系统记录错误日志 ...

  3. float的范围和有效位

    首先说一下: 范围是3.4E-38 ——3.4E+38,可提供7位有效数字. 上述这两个量都是近似值,各个编译器不太一样的. 下面我就将标准值是怎么定义的,和你说一下: 这个比较复杂,建议你找一下IE ...

  4. mysql管理工具navicat的快捷键

    1. ctrl + q  或者 ctrl+n: 打开新查询窗口 2. ctrl + r: 运行当前窗口内的所有语句 3. ctrl + shit + r: 只运行选中的语句 4. ctrl + w: ...

  5. iOS开发中数据持久化

    使用几个小例子分别实现 归档NSKeyedArchiver.NSUserDefaults.plist文件数据存储,简单直观.代码地址

  6. 在centos,docker中安装HeadlessChrome

    在centos6中安装chrome与chrome-driver,中间走了很多弯路,遇到很多坑,现将详细步骤总结如下.参考博客链接:https://blog.csdn.net/u013849486/ar ...

  7. 关于linux find命令的使用

    find 和 xargs   xargs和find 在 使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令 ...

  8. 数据分析工具Pandas

        参考学习资料:http://pandas.pydata.org 1.什么是Pandas? Pandas的名称来自于面板数据(panel data)和Python数据分析(data analys ...

  9. (一)JUnit简介

    单元测试是测试应用程序的功能是否能够按需要正常进行,是一个对单一实体(类或方法)的测试. JUnit是一个Java编程语言的单元测试框架. 单元测试框架是一部分代码,可以确保另一端代码(方法)按预期工 ...

  10. bzoj 4501 旅行

    01分数规划+最大权闭合子图 倒拓扑序处理每个节点 $$f[x]=\frac{\sum{f[v]}}{n}+1$$ 二分答案$val$ 只需要判断是否存在$\sum{f[v]}+1-val>0$ ...