看完給跪了:技術(shù)大??偨Y(jié)的Github與華為軟件開發(fā)云完整對比

華為軟件開發(fā)云配置管理?服務(wù)和Github是國內(nèi)外比較有代表性的代碼托管平臺,它們以git作為版本管理工具,使項(xiàng)目中身處各地的人員可以協(xié)同工作,主要操作涉及倉庫、分支、提交、pull request等知識。本文將講述它們的操作和區(qū)別。

Github介紹

一.注冊

填寫個人資料,郵箱激活。

二.倉庫

1.倉庫類型

私有倉庫:每月繳納7美元,后期可以隨時調(diào)整成其它免費(fèi)的公共倉。

公有倉庫:免費(fèi),所有人可見。

2.新建倉庫

一個倉庫通常用于單個工程,倉庫可以包含文件夾,文件,圖片,視頻,表格等任何項(xiàng)目所需資料。Github在新建項(xiàng)目時可以選擇同時創(chuàng)建README文件或license文件。

(1)在網(wǎng)頁的右上角,點(diǎn)擊頭像旁邊的加號,選擇“New repository”。

(2)給倉庫命名為“hello word”

(3)可以寫一個簡短的項(xiàng)目描述

(4)選擇“Initialize this repository with a README”

(5)點(diǎn)擊“Create repository”

優(yōu)點(diǎn):

a)創(chuàng)建時可以選擇gitignore類型,因?yàn)樵诠こ叹幾g過程中,會生成一些中間文件,或者項(xiàng)目中的一些文件是不需要進(jìn)行版本管理的,這些文件對Github來講是透明的,若gitignore選擇了C項(xiàng)目,.lib .so .exe等都被忽略了。

b)Settings中可以對倉庫重新命名

三.分支

分支是在同一倉庫不同版本上工作的方法。倉庫默認(rèn)有一個master分支,一般用作生產(chǎn)環(huán)境。當(dāng)從master分支新建一個分支,意味著在這個時間點(diǎn)對master分支做了一個拷貝或者說快照,其他人對master分支做的改動不會影響到新分支。

在Github上,開發(fā)者,設(shè)計(jì)者使用多個分支去修正bug和需求開發(fā),驗(yàn)證OK后,最后合并到master生產(chǎn)分支。

1.新建分支

(1)進(jìn)入倉庫

(2)單擊文件列表頂部的下拉框“branch: master”

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

(4)選擇“Create branch”或者直接回車

2.在線編輯

每個提交都有關(guān)聯(lián)的提交信息,用來解釋為什么要做這樣一個修改。提交信息記錄的這些歷史,可以使其他開發(fā)人員了解這次提交做了什么和為什么要這樣做。

(1)點(diǎn)擊README.md文件。

(2)點(diǎn)擊要編輯文件右上角的“鉛筆”圖標(biāo)

(3)在編輯器中,隨便寫點(diǎn)什么

(4)寫點(diǎn)提交信息描述你的更改

(5)點(diǎn)擊“Commit changes”按鈕

優(yōu)點(diǎn):

a)Preview changes可以邊修改邊查看差異

3.pull request申請

pull request是github協(xié)作的核心,可以申請一個pull request,請求別人review自己的修改。Pull request會顯示兩個分支內(nèi)容的不同,這些變更,增加和刪除的行數(shù)會用綠色和紅色顯示出來。不但在提交代碼后可以申請一個pull request,甚至可以在代碼完成前提出,討論代碼如何修改。

(1)點(diǎn)擊頂部的pull request項(xiàng),然后在點(diǎn)擊綠色的“New pull request”按鈕。

(2)選擇你修改的base分支feature和原始分支master進(jìn)行比較。

(3)在對比頁面,仔細(xì)檢查這些差異,確保是要提交的內(nèi)容。

(4)確認(rèn)OK之后,點(diǎn)擊綠色的“Create Pull Request”按鈕。

(5)給pull request寫上題目和簡短的描述

優(yōu)點(diǎn):

a)可以在pull request消息中使用github的“@”功能,請求特定的人或者小組反饋信息,無論他們在哪里都可以收到。

4.合并pull request

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

(1)點(diǎn)擊綠色的“Merge pull request”按鈕將修改合并到master分支

(2)點(diǎn)擊“Confirm merge”

(3)點(diǎn)擊pull request成功提示右邊的“Delete Branch”

優(yōu)點(diǎn):

a)merge有三種方法

b)可以在線修改沖突

c)合并后刪除的branch可以修復(fù)

四.github工作流

Github工作流是輕量級的,只有一個長期master分支的工作流。

來個圖表顯示:

·Master分支

·一個新的feature分支(因?yàn)槲覀円谶@個分支上做特性開發(fā))

·Feature合并到master之前的軌跡如下

1.創(chuàng)建一個分支

在做一個項(xiàng)目時,可能會在某個特定的時間有一大堆特性或想法——有已經(jīng)準(zhǔn)備好開始干的,有沒想好的。分支的存在就是來幫助管理這些工作流。

創(chuàng)建好一個分支以后,就可以隨意按照自己的想法來修改,因?yàn)檫@個分支不會影響主分支,可以隨意提交修改測試,直到做好驗(yàn)證才合入主分支。

分支是Git的核心概念,整個Github工作流都是基于它的,一條原則就是:主分支的任何東西都是可部署的。因此,在開發(fā)某個需求或者解決某個bug的時候,必須是從主分支拉取的分支,并且分支名是描述性的,以便其他人知道你在干什么。

2.做提交

提交可以讓別人清晰的看到分支的修改和為什么這么改,每次提交也都需要有提交信息。此外,每次提交應(yīng)該是一個獨(dú)立的單元,這樣,可以在發(fā)現(xiàn)問題或者方案改變時進(jìn)行回滾。

3.提一個pull request

提一個pull request開始對提交修改進(jìn)行討論,大家都能清晰的看到接受這次請求之后有哪些修改將被合并。

如果工作陷入了困境,即使沒有代碼也可以提一個pull request,放一些截圖或者想法,讓大家給一些建議。

Pull request方式對開源代碼的合并是非常有意義的,它可以讓代碼在合入master分支前有一個充分的review

4.討論和review代碼

一旦pull request被提出,reviewer將提出問題或者給出評語,比如:編碼風(fēng)格和項(xiàng)目風(fēng)格不一致,缺少單元測試等等,pull request設(shè)計(jì)的初衷就是鼓勵這些交流。

5.部署

當(dāng)pull request通過review和測試,就可以部署到生產(chǎn)環(huán)境中。如果分支引起了問題,可以通過重新部署master分支到生產(chǎn)環(huán)境來回滾版本。

6.合并

現(xiàn)在,提交已經(jīng)在生產(chǎn)環(huán)境上驗(yàn)證過了,可以合入master分支了。

華為軟件開發(fā)云配置管理服務(wù)VSgithub

1.收費(fèi)標(biāo)準(zhǔn)

Github私倉每月繳納7美元。

華為軟件開發(fā)云?配置管理服務(wù)5人以下,500M倉庫免費(fèi)。存儲空間收費(fèi)標(biāo)準(zhǔn)為0.000442(元/GB/小時),一個月1G代碼約0.318元。

2.頁面友好度

Github需要在Your profile中查看倉庫,各項(xiàng)操作堆疊在一個頁面。

華為軟件開發(fā)云配置管理服務(wù),左側(cè)分類顯示內(nèi)容,主頁選項(xiàng)清晰。

3.工具集成

Github僅僅是一個代碼托管平臺。

華為軟件開發(fā)云配置管理服務(wù)是這個Devops平臺其中的一項(xiàng)服務(wù),既可以作為代碼托管平臺單獨(dú)使用,又可以作為整個研發(fā)工具鏈的一部分來使用,所有數(shù)據(jù)在工具間拉通,平臺代碼可以直接構(gòu)建、部署,看到產(chǎn)品效果。

4.使用群體

Github歷史悠久,在開源社區(qū)廣受環(huán)境,個人使用者較多。

華為軟件開發(fā)云?配置管理服務(wù)擁有更多的企業(yè)用戶,企業(yè)使用這個平臺用于整個研發(fā)周期。目前,個人使用者由于其指導(dǎo)詳細(xì),中文頁面的優(yōu)點(diǎn),使用數(shù)量也在呈增長趨勢。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 多種多樣的工作流使得在項(xiàng)目中實(shí)施Git時變得難以選擇。這份教程提供了一個出發(fā)點(diǎn),調(diào)查企業(yè)團(tuán)隊(duì)最常見的Git工作流。...
    JSErik閱讀 4,600評論 2 8
  • 1.GitHub 有什么用 學(xué)習(xí)優(yōu)秀的開源項(xiàng)目開源社區(qū)一直有一句流行的話叫「不要重復(fù)發(fā)明輪子」,某種意義上正是因?yàn)?..
    Clemente閱讀 1,547評論 1 14
  • 這篇博文是自己在學(xué)習(xí)git過程中的思考總結(jié)。本文僅僅代表個人的看法,如有不妥地方還請本文文末留言。 ?? 原文鏈接g...
    Ming_Hu閱讀 1,270評論 4 18
  • Lesson 3: Using GitHub to Collaborate 3.1 Creating a GitH...
    赤樂君閱讀 6,339評論 3 11
  • 什么時候買指數(shù)基金 各位書友大家好,歡迎來到小白的讀書圈,我是大師兄。今天我們繼續(xù)來讀《指數(shù)基金投資指南》這本書。...
    小白的讀書圈閱讀 769評論 1 2

友情鏈接更多精彩內(nèi)容