文档章节

看完给跪了:技术大牛总结的Github与华为软件开发云完整对比

 透明的鱼
发布于 2017/08/09 13:51
字数 2022
阅读 34
收藏 0
点赞 0
评论 0

华为软件开发云配置管理 服务和Github是国内外比较有代表性的代码托管平台,它们以git作为版本管理工具,使项目中身处各地的人员可以协同工作,主要操作涉及仓库、分支、提交、pull request等知识。本文将讲述它们的操作和区别。

Github介绍

一.注册

填写个人资料,邮箱激活。

二.仓库

1.仓库类型

私有仓库:每月缴纳7美元,后期可以随时调整成其它免费的公共仓。

公有仓库:免费,所有人可见。

2.新建仓库

一个仓库通常用于单个工程,仓库可以包含文件夹,文件,图片,视频,表格等任何项目所需资料。Github在新建项目时可以选择同时创建README文件或license文件。

(1)在网页的右上角,点击头像旁边的加号,选择“New repository”。

(2)给仓库命名为“hello word”

(3)可以写一个简短的项目描述

(4)选择“Initialize this repository with a README”

(5)点击“Create repository”

优点:

a)创建时可以选择gitignore类型,因为在工程编译过程中,会生成一些中间文件,或者项目中的一些文件是不需要进行版本管理的,这些文件对Github来讲是透明的,若gitignore选择了C项目,.lib .so .exe等都被忽略了。

b)Settings中可以对仓库重新命名

三.分支

分支是在同一仓库不同版本上工作的方法。仓库默认有一个master分支,一般用作生产环境。当从master分支新建一个分支,意味着在这个时间点对master分支做了一个拷贝或者说快照,其他人对master分支做的改动不会影响到新分支。

在Github上,开发者,设计者使用多个分支去修正bug和需求开发,验证OK后,最后合并到master生产分支。

1.新建分支

(1)进入仓库

(2)单击文件列表顶部的下拉框“branch: master”

(3)在文本框中敲入新分支名字feature

(4)选择“Create branch”或者直接回车

2.在线编辑

每个提交都有关联的提交信息,用来解释为什么要做这样一个修改。提交信息记录的这些历史,可以使其他开发人员了解这次提交做了什么和为什么要这样做。

(1)点击README.md文件。

(2)点击要编辑文件右上角的“铅笔”图标

(3)在编辑器中,随便写点什么

(4)写点提交信息描述你的更改

(5)点击“Commit changes”按钮

优点:

a)Preview changes可以边修改边查看差异

3.pull request申请

pull request是github协作的核心,可以申请一个pull request,请求别人review自己的修改。Pull request会显示两个分支内容的不同,这些变更,增加和删除的行数会用绿色和红色显示出来。不但在提交代码后可以申请一个pull request,甚至可以在代码完成前提出,讨论代码如何修改。

(1)点击顶部的pull request项,然后在点击绿色的“New pull request”按钮。

(2)选择你修改的base分支feature和原始分支master进行比较。

(3)在对比页面,仔细检查这些差异,确保是要提交的内容。

(4)确认OK之后,点击绿色的“Create Pull Request”按钮。

(5)给pull request写上题目和简短的描述

优点:

a)可以在pull request消息中使用github的“@”功能,请求特定的人或者小组反馈信息,无论他们在哪里都可以收到。

4.合并pull request

最后这一步,就是在feature分支上的修改合并到master分支

(1)点击绿色的“Merge pull request”按钮将修改合并到master分支

(2)点击“Confirm merge”

(3)点击pull request成功提示右边的“Delete Branch”

优点:

a)merge有三种方法

b)可以在线修改冲突

c)合并后删除的branch可以修复

四.github工作流

Github工作流是轻量级的,只有一个长期master分支的工作流。

来个图表显示:

·Master分支

·一个新的feature分支(因为我们要在这个分支上做特性开发)

·Feature合并到master之前的轨迹如下

1.创建一个分支

在做一个项目时,可能会在某个特定的时间有一大堆特性或想法——有已经准备好开始干的,有没想好的。分支的存在就是来帮助管理这些工作流。

创建好一个分支以后,就可以随意按照自己的想法来修改,因为这个分支不会影响主分支,可以随意提交修改测试,直到做好验证才合入主分支。

分支是Git的核心概念,整个Github工作流都是基于它的,一条原则就是:主分支的任何东西都是可部署的。因此,在开发某个需求或者解决某个bug的时候,必须是从主分支拉取的分支,并且分支名是描述性的,以便其他人知道你在干什么。

2.做提交

提交可以让别人清晰的看到分支的修改和为什么这么改,每次提交也都需要有提交信息。此外,每次提交应该是一个独立的单元,这样,可以在发现问题或者方案改变时进行回滚。

3.提一个pull request

提一个pull request开始对提交修改进行讨论,大家都能清晰的看到接受这次请求之后有哪些修改将被合并。

如果工作陷入了困境,即使没有代码也可以提一个pull request,放一些截图或者想法,让大家给一些建议。

Pull request方式对开源代码的合并是非常有意义的,它可以让代码在合入master分支前有一个充分的review

4.讨论和review代码

一旦pull request被提出,reviewer将提出问题或者给出评语,比如:编码风格和项目风格不一致,缺少单元测试等等,pull request设计的初衷就是鼓励这些交流。

5.部署

当pull request通过review和测试,就可以部署到生产环境中。如果分支引起了问题,可以通过重新部署master分支到生产环境来回滚版本。

6.合并

现在,提交已经在生产环境上验证过了,可以合入master分支了。

华为软件开发云配置管理服务VSgithub

1.收费标准

Github私仓每月缴纳7美元。

华为软件开发云 配置管理服务5人以下,500M仓库免费。存储空间收费标准为0.000442(元/GB/小时),一个月1G代码约0.318元。

2.页面友好度

Github需要在Your profile中查看仓库,各项操作堆叠在一个页面。

华为软件开发云配置管理服务,左侧分类显示内容,主页选项清晰。

3.工具集成

Github仅仅是一个代码托管平台。

华为软件开发云配置管理服务是这个Devops平台其中的一项服务,既可以作为代码托管平台单独使用,又可以作为整个研发工具链的一部分来使用,所有数据在工具间拉通,平台代码可以直接构建、部署,看到产品效果。

4.使用群体

Github历史悠久,在开源社区广受环境,个人使用者较多。

华为软件开发云 配置管理服务拥有更多的企业用户,企业使用这个平台用于整个研发周期。目前,个人使用者由于其指导详细,中文页面的优点,使用数量也在呈增长趋势。

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 60
码字总数 89417
作品 0
华为开发云、当当网,加入 Skywalking 生态系统

Skywalking作为国内最活跃的分布式追踪和APM开源软件,随着功能的逐步强大,Skywalking社区也在越来越开放,生态体系正在逐步完善。10月OpenSkywalking组织的成立,转向Apache 2.0开源协议,...

wu-sheng ⋅ 2017/10/19 ⋅ 9

一站式云端创新平台:华为云软件开发云

  【IT168 评论】企业数字化转型,软件正扮演着重要角色。有预测数据显示,2020年中国软件及信息服务产业规模将达到8万亿人民币。软件能力正成为一个国家、城市、企业最核心的竞争力之一。...

it168网站 ⋅ 2017/11/24 ⋅ 0

上线一周年 华为云软件开发云为何如此受欢迎?

软件开发云之于软件工程,就如同机床之于制造业。华为云软件开发云正在努力成为软件业的“工作母机”。 去年12月,华为云在大连正式上线发布了软件开发云平台(DevCloud),平台刚一上线就受到...

m59ht9d0j ⋅ 2017/11/29 ⋅ 0

嗨翻,华为云社区年度盛典嘉年华火热进行中!十大分会场,抢万元豪礼!

2018年伊始,由华为云社区与华为云十大产品联合策划的“云启2018——华为云社区年度盛典嘉年华”活动,火热拉开了新年序幕,吸引了不少关注。 华为云社区作为华为云官方技术交流社区,依托博...

宋庆离 ⋅ 01/23 ⋅ 0

程序员成长必杀技,怎么找到想要的资源?

大家也知道这个,信息技术发展非常迅速的。那么,如果你选择了作为程序员的话,就要保持一颗长期学习的心态。因为技术更新快,需求变化快,所以,时刻要保持学习的态度,不被淘汰。正因如此,...

[已重置] ⋅ 2017/04/04 ⋅ 0

分享下一点创业小心得以及创业项目运营情况

之前发过一个文章介绍我的创业小项目,但是可能还是有部分同学没有看到,所以在分享运营情况之前还是重新介绍下我的创业项目: 小专栏:一个专业人士的创作知识社区,旨在为一些在某个领域有深...

diycodecc ⋅ 2017/09/20 ⋅ 0

【软件企业的福音】华为全新一站式研发工具限免还享补贴!

在软件开发技术和理念层出不穷的今天,如何更快的适应变化的环境,更好的满足客户的需求,已经成为决定一个企业能否活下去的关键。 天下武功唯快不破,在当今大环境中更是如此,Devops,微服务...

OSC_Lucy ⋅ 2017/06/22 ⋅ 3

DevCloud如何实现敏捷和Devops开发?

  【IT168 评论】“人类生存于一个虚拟的、数字化的生存活动空间,在这个空间里人们应用数字技术从事信息传播、交流、学习、工作等活动,这便是数字化生存。”--尼葛洛庞帝!   21年前,尼...

it168网站 ⋅ 2017/03/30 ⋅ 0

华为上线软件开发云,一站式云端 DevOps 平台

在12月22日举办的“2016华为大连软件开发云上线大会”上,华为正式上线发布了集其自身研发实践、前沿研发理念、先进研发工具为一体的软件开发云平台,面向软件企业、高校和开发者提供云端研发...

王练 ⋅ 2017/01/03 ⋅ 9

无奇不有!来看看程序员注释里“藏着的那些不宜见人的秘密”

01 看看这位“善良”的程序员,把项目经理的要求都老老实实的写在了代码注释里,不过说实话这东西确实有点见不得人啊! 02 看看这位程序猿写的,把公司都出卖了,不过没有年终奖的公司确实别...

如蜗牛般努力 ⋅ 2017/11/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Cube、Cuboid 和 Cube Segment

1.Cube (或Data Cube),即数据立方体,是一种常用于数据分析与索引的技术;它可以对原始数据建立多维度索引。通过 Cube 对数据进行分析,可以大大加快数据的查询效率 2.Cuboid 在 Kylin 中特...

无精疯 ⋅ 27分钟前 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 28分钟前 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 39分钟前 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 41分钟前 ⋅ 0

我的第一篇个人博客

虽然这是个技术博客,但是,我总是想写一些自己的东西,所有就大胆的在这里写下了第一篇非技术博客。技术博客也很久没有更新,个人原因。 以后自己打算在这里写一些非技术博客,可能个人观点...

Mrs_CoCo ⋅ 42分钟前 ⋅ 0

Redis 注册为 Windows 服务

Redis 注册为 Windows 服务 redis 注册为 windows 服务相关命令 注册服务 redis-server.exe –service-install redis.windows.conf 删除服务 redis-server –service-uninstall 启动服务 re......

Os_yxguang ⋅ 42分钟前 ⋅ 0

世界那么大,语言那么多,为什么选择Micropython,它的优势在哪?

最近国内MicroPython风靡程序界,是什么原因导致它这么火呢?是因为他功能强大,遵循Mit协议开源么? 错!因为使用它真的是太舒服了!!! Micropython的由来,这得益于Damien George这位伟大...

bodasisiter ⋅ 46分钟前 ⋅ 0

docker 清理总结

杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器(docker rm没有加-f参数,运行中的容器不会删掉) docker rm $(docker ps -a -q) 删除所有未打 dangling 标...

vvx1024 ⋅ 56分钟前 ⋅ 0

关于学习

以前学车的时候,教练说了这样的一句话:如果一个人坐在车上一直学,一直学,反而不如大家轮流着学。因为一个人一直学,就没有给自己留空间来反思和改进。而轮流着学的时候大家下来之后思考上...

mskk ⋅ 今天 ⋅ 0

压缩工具之gzip-bzip2-xz

win下常见压缩工具:rar zip 7z linux下常见压缩工具:zip gz bz2 xz tar.gz tar.bz2 tar.xz gzip 不支持目录压缩 gzip 1.txt #压缩。执行后1.txt消失,生成1.txt.gz压缩文件 gzip -d 1.txt....

ZHENG-JY ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部