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 的代码管控机制相关推荐

  1. 代码Overlay机制

    点击打开链接 代码overlay机制意思是,将我们在Android原生代码上修改过的文件,单独放在一个目录下,而在编译代码的时候就会去检测这个目录下的文件,如果这个目录下的文件与原生有相同的文件,那么 ...

  2. 软工实践练习一——使用Git进行代码管理心得

    在github.com的操作 注册 创建Organization 将指定代码库fork到小组Organization下 在Organization下创建repository 这些操作在学校的机房已经完 ...

  3. Android应用后台网络管控机制

    应用后台网络管控机制 概述 在维护手管应用时,经常遇到与应用后台网络控制相关的问题,在解决这些问题的过程中,学习了下应用后台网络控制的流程以及一些日志的分析方法,现在把它总结一下,方便自己以及他人的学 ...

  4. IDEA如何将git分支代码合并到master

    IDEA如何将git分支代码合并到master 1. 打开默认开发分支(svn_develop) 2. 将远程master分支Checkout as new local brabch  确保代码与远程 ...

  5. mac电脑Git提交代码到Github提示git-credential-osxkeychain 验证解决方案

    mac电脑Git提交代码到Github提示git-credential-osxkeychain 验证解决方案 参考文章: (1)mac电脑Git提交代码到Github提示git-credential- ...

  6. git 拉去代码要求密码 解决方法:生成gitLab公钥

    git 拉去代码要求密码 解决方法:生成gitLab公钥 参考文章: (1)git 拉去代码要求密码 解决方法:生成gitLab公钥 (2)https://www.cnblogs.com/songya ...

  7. git clone 代码下载速度慢的解决方法

    git clone 代码下载速度慢的解决方法 参考文章: (1)git clone 代码下载速度慢的解决方法 (2)https://www.cnblogs.com/tristers/p/1217220 ...

  8. 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 ...

  9. linux上使用git把代码push到gitee上

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 linux上使用git把代码push到gitee上 文章目录: 1 git添加ssh公钥 2 代码推送的流程 从git的 ...

最新文章

  1. thinkphp5+远程代码执行_ThinkPHP5 5.0.23 远程代码执行漏洞
  2. 关于计算机中二进制原码,反码,补码的简要解释
  3. Linux基础学习1--档案的属性和目录
  4. dockerfile构建nginx并结合php
  5. Linux桌面自动挂载,ubuntu分区自动挂载
  6. 基站位置查询系统_木牛导航网络基站服务免费了!——更便捷、更高效、更省心!...
  7. Mina网络通信框架
  8. 博世成立新部门布局互联交通服务
  9. Bootstrap Glyphicons图标
  10. 在线JSON转flow工具
  11. BraftEditor:React使用编辑器编辑的时候,在服务器上删除文字中不存在的图片
  12. Java—读取指定路径下文件的内容
  13. java拼音_Java获取汉字对应的拼音(全拼或首字母)
  14. Vacuum tube 真空管/电子管
  15. Java基础汇总(二十二)——行为模式
  16. Liunx 安装redis
  17. HTML5+CSS3小实例:简单又好看的加载动画效果
  18. 读书笔记——计网概述
  19. 笔记本电脑插上电源合盖子不睡眠不锁屏只是关闭了屏幕
  20. java使用循环输出等腰三角

热门文章

  1. pandas操作时出现SettingWithCopyWarning的解决方法
  2. Spring Boot: Spring Boot 整合 RabbitMQ
  3. ACM算法分类和资源
  4. free5GC安装、运行、测试及注意事项
  5. app error login.php,GitHub - jmluang/weappLogin-for-laravel: 封装了微信小程序的登陆逻辑,包含了数据库操作...
  6. 局域网下实现高清低延时图传(一)
  7. 华为ensp模拟校园网/企业网实例(XX学校网络设计与实现)
  8. oracle 12c安装过程中报错:[INS-32102]指定的Oracle主目录已存在
  9. 农行网银软件导致XP死机
  10. 零基础实战视频教程_软件测试工程师培训