华为软件开发云配置管理 服务和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历史悠久,在开源社区广受环境,个人使用者较多。

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

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

  1. GitHub转华为软件开发云详细教程

    一.复制GitHub的代码库地址 首先,打开Github网页,找到要迁移的代码仓库地址,如下: 点击Clone or Download,出现以下界面 点击Copy toclipboard(复制到粘贴板 ...

  2. App软件开发的完整在线流程(一看就懂)

    App软件开发其实并不复杂,完整的在线App开发不过9个步骤,一看就明白到底是怎么回事. 第一步:需求评估 在App项目正式启动前,客户应该对自己的需求进行评估,确认项目的开发周期和成本.登录APIC ...

  3. 这个大学在Github开源了计算机课程,看完在家上个 985

    微信搜「后端技术学堂」有干货,本文已收录于Github:https://github.com/imcoderlemon/CodeClass 内含原创干货文章,千本计算机电子书,3本LeetCode题解 ...

  4. 【保姆级】利用Github搭建自己的个人博客,看完就会

    大家好,我是辰哥~ 作为一名喜欢技术的爱好者,平时喜欢把自己学习技术的心得或者一些踩坑.易错的过程记录下来,首选的是技术平台(博客),今天辰哥来教大家如何利用Github来搭建一个自己的个人博客平台. ...

  5. [转]20位活跃在Github上的国内技术大牛

    FROM : http://blog.csdn.net/yaoxtao/article/details/38518933 20位活跃在Github上的国内技术大牛 本文列举了20位在Github上非常 ...

  6. 20位活跃在Github上的国内技术大牛

    登录|注册     leon-这个程序员不闷骚的博客 喜欢leon,有追求有原则有爱心的杀手,做一个有追求的程序员,代码是程序员的朋友,虽然没有热情,但是非常忠实.希望拥有一身绝世武功,再配一把绝世好 ...

  7. 2018前端面试总结,看完弄懂,工资少说加3K | 掘金技术征文

    2018前端面试总结,看完弄懂,工资少说加3K | 掘金技术征文:https://juejin.im/post/5b94d8965188255c5a0cdc02

  8. 技术大牛是如何拿到国内IT巨头offer的?

    关键字:技术大牛是如何拿到国内IT巨头offer的?  不是技术牛人,如何拿到国内IT巨头的Offer  不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰.看看这些牛人, ...

  9. HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!

    前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据. 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 ...

随机推荐

  1. httpClient 发送请求后解析流重用的问题(HttpEntity的重用:BufferedHttpEntity)

    使用场景: 项目中使用httpClient发送一次http请求,以流的方式处理返回结果,开始发现返回的流只能使用一次,再次使用就会出错,后来看了一些解决方案,EntityUtils.consume(r ...

  2. java 获得当前时间 年月日时分秒 星期几

    <%SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");//设置日期格式SimpleDat ...

  3. Flash TextField selectable bug block TextEvent.Link solution

    There is an old version Felx SDK bug(in my case it's Flex SDK v3.3.0.4852) that when TextField.selec ...

  4. 手把手教你 基础 整合最优雅SSM框架:SpringMVC + Spring

    我们看招聘信息的时候,经常会看到这一点,需要具备SSH框架的技能:而且在大部分教学课堂中,也会把SSH作为最核心的教学内容. 但是,我们在实际应用中发现,SpringMVC可以完全替代Struts,配 ...

  5. 2.vue 安装教程

    安装node.js 从node.js官网下载并安装node,安装过程很简单,一路"下一步"就可以了(傻瓜式安装). 安装完成之后,打开命令行工具,输入 node -v,如下图,如果 ...

  6. Mac应用推荐

    知识管理 Outline Curio Together 开发 Clion Vim + spf13 Transmit 辅助应用 Moom PopClip Timing AppClean Markdown ...

  7. iOS多线程开发之离不开的GCD(上篇)

    一.GCD基本概念 GCD 全称Grand Central Dispatch(大中枢队列调度),是一套低层API,提供了⼀种新的方法来进⾏并发程序编写.从基本功能上讲,GCD有点像NSOperatio ...

  8. iOS9新特性之常见关键字、泛型

    #pragma mark -- nullable nullable:可以为空,只能修饰对象,不能修饰基本数据类型 // 方式一: @property (nonatomic, copy, nullabl ...

  9. 详解react/redux的服务端渲染:页面性能与SEO

        亟待解决的疑问 为什么服务端渲染首屏渲染快?(对比客户端首屏渲染)   react客户端渲染的一大痛点就是首屏渲染速度慢问题,因为react是一个单页面应用,大多数的资源需要在首次渲染前就加载 ...

  10. hasOwnProperty的用法

    判断一个属性倒底是在原型中,还是在实例中 hasOwnProperty() 来个栗子 function Person(){ }; Person.prototype.name = "hezhi ...