Git 的代码管控机制
Git 由于他自身的优势和灵活性,已经渐渐取代了SVN,作为代码管控的首选工具。
先聊聊用git 来管控代码,我们到底需要多少分支才算是一个比较OK的选择呢:
答案是: Master 分支 + Develop 分支 + Release 分支。
Master 分支: Master 分支上面的代码一定是当前能够直接发布的,能正常工作的代码。
Dev 分支: Dev 分支是开发人员的功能开发完成且自验通过后 ,提交到dev 分支。dev 分支上面可以比master 分支的功能和代码多。
Release 分支: 每次release 版本时,必须从Master 上面重新拉一个分支,基于该分支去对此次的release 版本去开发和回归。
当前,三个分支很多情况下来说,merge 代码的工作量比较大,所以我们建议采用 Master 分支来充当 Dev 分支的角色。这样我们就存在两个分支:Master + Release 分支。
1) 功能开发,选择 Master分支, 预研,基于Master分支去拉预研的个人分支。
2) 版本测试问题修复和回归,基于Release 分支修复和回归, cherry-pick 进Master分支。
Git Review 代码有很多方式,比如 Gerrit,但是 git 自身也提供了 Pull Request 的方式来提交代码。下面我们来聊一下这个流程。
1) 配置当前的项目代码提交权限仅仅为Master 用户,其他用户一律不能够进行 push 操作。
2)用 Fork 的方式创建个人项目
3)克隆产品的代码
git clone git@url/project/xxx.git
4)添加fork的源
git remote add who git@url/who/xxx.git
5) 同步远端源项目master 代码
git pull origin master
6) 产生改变和commit
#change code
#add changes
git add .
#commit changes into local git project
git commit -m "test"
7) 提交commit 到fork 项目
git push who master
8)创建merge request
点击 Merge Request —–> Create New Merge Request —–> Submit Merge Request. 选择你需要他帮你Review 和能Accept Merge的人,然后Assign 给他。
9) 等待别人Review Code, Accept or Reject.
如有问题,可以加微信交流
如果觉得写得好,期待您的赞赏:
Git 的代码管控机制相关推荐
- 代码Overlay机制
点击打开链接 代码overlay机制意思是,将我们在Android原生代码上修改过的文件,单独放在一个目录下,而在编译代码的时候就会去检测这个目录下的文件,如果这个目录下的文件与原生有相同的文件,那么 ...
- 软工实践练习一——使用Git进行代码管理心得
在github.com的操作 注册 创建Organization 将指定代码库fork到小组Organization下 在Organization下创建repository 这些操作在学校的机房已经完 ...
- Android应用后台网络管控机制
应用后台网络管控机制 概述 在维护手管应用时,经常遇到与应用后台网络控制相关的问题,在解决这些问题的过程中,学习了下应用后台网络控制的流程以及一些日志的分析方法,现在把它总结一下,方便自己以及他人的学 ...
- IDEA如何将git分支代码合并到master
IDEA如何将git分支代码合并到master 1. 打开默认开发分支(svn_develop) 2. 将远程master分支Checkout as new local brabch 确保代码与远程 ...
- mac电脑Git提交代码到Github提示git-credential-osxkeychain 验证解决方案
mac电脑Git提交代码到Github提示git-credential-osxkeychain 验证解决方案 参考文章: (1)mac电脑Git提交代码到Github提示git-credential- ...
- git 拉去代码要求密码 解决方法:生成gitLab公钥
git 拉去代码要求密码 解决方法:生成gitLab公钥 参考文章: (1)git 拉去代码要求密码 解决方法:生成gitLab公钥 (2)https://www.cnblogs.com/songya ...
- git clone 代码下载速度慢的解决方法
git clone 代码下载速度慢的解决方法 参考文章: (1)git clone 代码下载速度慢的解决方法 (2)https://www.cnblogs.com/tristers/p/1217220 ...
- git push代码时的‘git did not exit cleanly (exit code 1)‘问题解决
git push代码时的'git did not exit cleanly (exit code 1)'问题解决 参考文章: (1)git push代码时的'git did not exit clea ...
- linux上使用git把代码push到gitee上
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 linux上使用git把代码push到gitee上 文章目录: 1 git添加ssh公钥 2 代码推送的流程 从git的 ...
最新文章
- thinkphp5+远程代码执行_ThinkPHP5 5.0.23 远程代码执行漏洞
- 关于计算机中二进制原码,反码,补码的简要解释
- Linux基础学习1--档案的属性和目录
- dockerfile构建nginx并结合php
- Linux桌面自动挂载,ubuntu分区自动挂载
- 基站位置查询系统_木牛导航网络基站服务免费了!——更便捷、更高效、更省心!...
- Mina网络通信框架
- 博世成立新部门布局互联交通服务
- Bootstrap Glyphicons图标
- 在线JSON转flow工具
- BraftEditor:React使用编辑器编辑的时候,在服务器上删除文字中不存在的图片
- Java—读取指定路径下文件的内容
- java拼音_Java获取汉字对应的拼音(全拼或首字母)
- Vacuum tube 真空管/电子管
- Java基础汇总(二十二)——行为模式
- Liunx 安装redis
- HTML5+CSS3小实例:简单又好看的加载动画效果
- 读书笔记——计网概述
- 笔记本电脑插上电源合盖子不睡眠不锁屏只是关闭了屏幕
- java使用循环输出等腰三角
热门文章
- pandas操作时出现SettingWithCopyWarning的解决方法
- Spring Boot: Spring Boot 整合 RabbitMQ
- ACM算法分类和资源
- free5GC安装、运行、测试及注意事项
- app error login.php,GitHub - jmluang/weappLogin-for-laravel: 封装了微信小程序的登陆逻辑,包含了数据库操作...
- 局域网下实现高清低延时图传(一)
- 华为ensp模拟校园网/企业网实例(XX学校网络设计与实现)
- oracle 12c安装过程中报错:[INS-32102]指定的Oracle主目录已存在
- 农行网银软件导致XP死机
- 零基础实战视频教程_软件测试工程师培训