gitlab workflow
建立一个长期分支,就是master,master分支上的版本都是能够编译运行的版本。 整个工作流程如下。 第一步:根据需求,从master拉出新分支,不区分功能分支或补丁分支。 第二步:新分支开发完成后,或者需要讨论的时候,先从master合并到分支,解决冲突,然后向master发起一个pull request(简称PR)。 第三步:Pull Request既是一个通知,让别人注意到你的请求,又是一种对话机制,大家一起评审和讨论你的代码。对话过程中,你还可以不断提交代码。 第四步:你的Pull Request被接受,合并进master,重新部署后,原来你拉出来的那个分支就被删除。(先部署再合并也可。)
建立测试项目
新建一个项目用于测试工作流。 演示项目地址:http://10.10.10.98/MekaYangyi/workflow
设置分支保护
新建项目默认master用户才能够push和merge。 其余用户只能新建分支,在分支测试完毕后,再发起Merge Requests。发起后,由master进行审核后合并。
第一次使用gitlab
安装git
版本差别不大,目前使用的版本git2.11.0.3。 一路下一步,不修改安装位置,直接使用默认设置。
安装TortoiseGit
一路下一步,不修改安装位置,直接使用默认设置。
登录账户
管理员创建账户
Admin→New User。新建账户、并设置密码。同时设置该用户所属Group。
name:上传显示的名字,可以经常更改,使用中文名好。
username:登陆的用户名,不可修改,用于账户登陆。
email:账户email,内网联系email。
password:密码,牢记,root用户可修改。
登录
登陆内网gitlab,目前网址:10.10.10.98。
[读书笔记] stl源码剖析 总结
[读书笔记] stl源码剖析 第四章 序列式容器
容器分类
vector
vector还是比较简单,也就是一个动态数组,提供了些操作,带三个指针,start/finish/end 核心就是动态调整内存的方法,也就是满了开大一倍空间,拷贝过去。 push_back等操作都是值语义的,拷贝传进来的内容放入到vector中。 因为是连续的空间,所有元素连续存储在一整块内存上,迭代器直接用的原始指针。
list
list复杂些. 模型和常见的list是一致的,动态创建节点,插入。
|
|
[读书笔记] stl源码剖析 第三章 迭代器
迭代器是一种抽象的设计概念。iterator模式:提供一种方法,使能够依序寻访某个聚合物所含的各个元素,而又无需暴露该聚合物的内部表述方式。
迭代器的设计思维-stl关键所在
STL的中心思想在于:将数据容器和算法分开,彼此独立设计。容器和算法的泛型化。 迭代器就是扮演着粘胶角色。
迭代器是一种smart pointer
list迭代器stl的实现
|
|