git 主仓fork方式开发

前言

之前一直使用的事单个仓库多人开发的模式,仓库添加开发者开发权限,开发者可以直接往仓库里推送代码,创建分支,合并分支。这种情况在多人同时操作一个仓库的话造成管理混乱。还有就是每个人开发都可以自己写一些测试代码,在提交代码的时候可能会把测试代码都提交上去,即使提交代码有review功能,也只能在合并分支的时候才能做区分哪些合并哪些不合并。所以就有升级的使用方式,主仓和私仓。

主仓和私仓

  • 主仓,就是中央主仓库,公司最新和稳定的代码都是在主仓里,主仓专人管理,每次代码合并都是其他开发者提交合并请求,管理者review代码完才合并进主仓。
  • 私仓就是开发者的开发环境仓库,这些仓库的代码是从主仓fork下来的代码,当然可能fork的只是主仓的部分分支,不一定要所有分支,可以只关注自己开发的内容就可以。

开发流程

简单说一下这个代码的管理和开发流程

  1. 产品提交了一个需求,前期需求都评审完开始进入开发阶段
  2. 主仓管理员创建开发分支
  3. 分配到的任务开发者私仓 fetch主仓代码同步主仓的分支
  4. 任务开发者checkout主仓分支到本地进行代码开发
  5. 开发完成提交的任务开发者私仓
  6. 提交合并请求到主仓
  7. 主仓管理者review代码,并合并代码到主仓
  8. 自动化打包给到测试
  9. 测试反馈问题,开发者修改,重复5-8
  10. 测试完成产品验收
  11. 主仓管理者合并代码到master,打包发版

上代码

首次fork主仓

  • 使用gitlab或者github都可以直接fork主仓的代码到自己的私仓(自己用户下的仓库)
  • git clone私仓代码到本地
git clone <私仓git地址>
  • 本地创建主仓关联
git remote add <主仓标识 以下用center> <主仓git地址>
  • 查看分支关系
git remote -v

操作无误的话会有

center git主仓地址(fetch)
center git主仓地址(push)

origin git私仓地址(fetch)
origin git私仓地址(push)

以下适用非首次fork

  • 查看任务任务分支
git branch -a

可以看到私仓和主仓的所有远端分支
假设主仓的任务分支是 feature/task_211
就能看到

remotes/center/feature/task_211
  • 将主仓任务分支check到本地分支
git checkout -b feature/task_211 center/feature/task_211

成功后本地就有feature/task_211 分支 并且是同步center的任务分支

  • 开始开发开发开发
write fuck code
  • 开发有进度就可以commit 但是是提交到自己的私仓中
git commit -m "balabla"
git push origin

这样就成功提交到自己的私仓

  • 任务都开发完,要提交测试了,提交合并请求到主仓
    这个在gitlab平台可以新建pullrequest github也行

然后又问题修复就循环上面改代码 提交请求的操作

剩下打包的就交给主仓管理者把~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。