华为软件开发云配置管理 服务和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. CSS active选择器与CSS hover选择器

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  2. Ion-affix & Ion-stick 仿IOS悬浮列表插件

    Ion-affix & Ion-stick 仿IOS悬浮列表插件 Ion-affix 1.相关网页 Ion-affix 2.环境准备: 执行命令 bower install ion-affix ...

  3. 定制Android开发者专属T恤

    之前在T社上买了一件定制的T恤,感觉质量挺不错的,那是段子张发起的众筹.正面有hello google这几个字母. 我自己本身是一个Android粉,从nexus手机到pixel手机,坚持买原生的操作 ...

  4. Chrome浏览器扩展开发系列之四:Browser Action类型的Chrome浏览器扩展

    Browser Action类型的Google Chrome扩展程序,通常在Chrome浏览器的工具栏中,地址栏的右侧,有一个始终存在的图标.也就是说,这个图标与浏览器相关,只要安装了该Chrome扩 ...

  5. Asp.net MVC-3-执行过程

    本篇主要讲述MVC处理请求时创建Controller和执行Action的完整过程. 创建Controller 先查看MvcHandler中处理请求的方法BeginProcessRequest: pro ...

  6. jQuery教程详解(一)

    PS--了解JQuery Query是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库( 或JavaScript框架).jQuery设计的宗旨 ...

  7. JavaWeb 后端 <十四> 文件上传下载

    1.文件上传与下载 案例: 注册表单/保存商品等相关模块! --à 注册选择头像 / 商品图片 (数据库:存储图片路径 / 图片保存到服务器中指定的目录) 1.1 文件上传 文件上传,要点: 前台: ...

  8. MySQl开发和生产环境索引对比

    --1.创建索引信息表create table `t_index_update` (  `table_name` varchar(20) COLLATE gbk_bin DEFAULT NULL,  ...

  9. shiro整合oauth

    一.基本思路脑图 二.客户端shiro配置 shiro配置文件 <?xml version="1.0" encoding="UTF-8"?> < ...

  10. asp.net修行入门讨论

    突然想起来大学的一个专业课老师,教C,C#,他的教学特点就是只教简单知识,现在想想真有道理,假如上来就教我们枯燥难以理解的高深知识,我们会恐惧编程的,极大地打击学习的兴趣,所以他C语言的指针从来没教过 ...