中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

GitHub 到底為啥這么受歡迎,我們?yōu)槟阏硪环菔褂霉ヂ?

2018-08-06    來(lái)源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用
這里是,油管 Artificial Intelligence Education 專(zhuān)欄,原作者 Siraj Raval

原標(biāo)題:How to Use GitHub

 

 

GitHub,全世界開(kāi)發(fā)者的安全空間,在這里,你可以分享你的代碼為大家所用,也可以和全世界的開(kāi)發(fā)者一起共建完善你的代碼。在這里,你可以學(xué)習(xí)借鑒前輩的經(jīng)驗(yàn)快速提升技能,也可以更好地展示自己的學(xué)習(xí)成果為未來(lái)發(fā)展撰寫(xiě)自己的名片。本期視頻就由網(wǎng)紅小哥 Siraj 為大家講解 Git 協(xié)議是如何工作的,并教你建立自己的代碼倉(cāng)庫(kù)以及用社交媒體提升你的 GitHub 代碼。

 

 

1. 什么是 Git 協(xié)議

你可能會(huì)發(fā)現(xiàn) GitHub 有個(gè)很鮮明的特色,它允許開(kāi)發(fā)者通過(guò)一個(gè)共享界面實(shí)現(xiàn)合作,在這里你可以以你認(rèn)為好的方式修改他人的開(kāi)放代碼,也可以邀請(qǐng)他人來(lái)協(xié)助你完善你的。這種合作就像特斯拉公司要發(fā)布一輛新車(chē)型,他們會(huì)用一年時(shí)間來(lái)請(qǐng)負(fù)責(zé)每個(gè)部分的小組進(jìn)行設(shè)計(jì)、協(xié)調(diào)并與其它小組設(shè)計(jì)的新特征保持同步,從而實(shí)現(xiàn)設(shè)計(jì)的最優(yōu)化。這是一個(gè)充分發(fā)揮民主的過(guò)程。

 

那你可能會(huì)疑惑,是什么驅(qū)使世界各地的開(kāi)發(fā)者互相協(xié)作,并且一旦發(fā)生問(wèn)題,是否有可能修改或還原呢?

答案很簡(jiǎn)單,因?yàn)槭褂昧?Git 協(xié)議存儲(chǔ)代碼庫(kù)。

十幾年前,大名鼎鼎的程序員 Linus Torvalds 正忙于構(gòu)建一個(gè)操作系統(tǒng),并且與其它開(kāi)發(fā)者一起不斷修改代碼,因此他需要一個(gè)方式去追蹤代碼是如何隨著時(shí)間更改的,這樣一旦發(fā)生問(wèn)題可以很輕易的回到之前的版本。一般來(lái)說(shuō)我們會(huì)不斷地保存副本并重命名,我想你寫(xiě)論文也碰見(jiàn)過(guò)這種情況:一稿、二稿···絕不修改版本···再次修改版本···這簡(jiǎn)直是噩夢(mèng),所以 Linus 寫(xiě)了 Git 協(xié)議,用來(lái)提供項(xiàng)目最新的注釋合集和按時(shí)間排序的代碼更改歷史。直到現(xiàn)在,Git 協(xié)議幾乎是每一個(gè)現(xiàn)代開(kāi)發(fā)工作流的核心。

2. 如何理解 Git 協(xié)議中的指令

Git 協(xié)議中有大量指令,當(dāng)你第一次試著去理解的時(shí)候它的結(jié)構(gòu)可能令人費(fèi)解。不過(guò)我們還是以特斯拉公司為例。

 

 

我們需要研發(fā)新車(chē)型,事實(shí)上在給定的任意時(shí)間我們存在四個(gè)版本的設(shè)計(jì):(1)實(shí)時(shí)版本,也就是消費(fèi)者熟悉的在售現(xiàn)行版本;(2)計(jì)劃中明年版本,只要所有小組同意,這個(gè)版本將成為新的實(shí)時(shí)版本,它代表著遠(yuǎn)程數(shù)據(jù)庫(kù),儲(chǔ)存了我們最新的優(yōu)化后的設(shè)計(jì)版本;(3)最新版本充分考慮了其他小組的建議,但還未向其他小組展示并獲得許可,它代表本地庫(kù);(4)開(kāi)發(fā)中版本,它需要進(jìn)一步的內(nèi)測(cè)和審核,這是一個(gè)緩存區(qū)。

每個(gè)階段都對(duì)應(yīng)著不同層次的貢獻(xiàn),對(duì)代碼來(lái)說(shuō)也是一樣,我們的代碼在落地前必須經(jīng)歷四個(gè)階段,每個(gè)階段都進(jìn)一步降低了與其它小組相沖突的風(fēng)險(xiǎn)。

Git 協(xié)議中還有一個(gè)聲明,表示我們完成了一個(gè)完整的設(shè)計(jì)并且我們對(duì)它十分滿意,Git 協(xié)議中的提交意味著即使還需要測(cè)試和審核,我們?nèi)匀粚?duì)自己的設(shè)計(jì)充滿信息,并且已經(jīng)對(duì)它進(jìn)行了所有標(biāo)準(zhǔn)化的測(cè)試。

3. Git 協(xié)議如何運(yùn)作

一旦我們準(zhǔn)備好將我們的設(shè)計(jì)展示給其他人,就可以將我們的設(shè)計(jì)從本地庫(kù)復(fù)制到遠(yuǎn)程存儲(chǔ)庫(kù)中,在 Git 協(xié)議中我們可以使用 push 指令,過(guò)程存儲(chǔ)庫(kù)保存在云端,本地庫(kù)則保存在我們的電腦上。一旦所有人都表示滿意,我們就可以將它部署到我們的網(wǎng)站或手機(jī)應(yīng)用上。

 

 

在生產(chǎn)中,這實(shí)際上不是一個(gè) Git 指令而是代表著從實(shí)際版本到生產(chǎn)的過(guò)程。

事實(shí)上我們可能為每個(gè)新版本都建立了存儲(chǔ)庫(kù),但因?yàn)樗麄兌己芏喙餐c(diǎn),我們可以只為每個(gè)版本建立分支,分支可以讓我們基于相同的代碼庫(kù)保持多個(gè)版本。如果使用后發(fā)現(xiàn)在現(xiàn)有版本中加入某個(gè)特征會(huì)更好,我們就可以用 merge 指令來(lái)整合兩個(gè)分支。

加入有人推送了一個(gè)新的特征或代碼到遠(yuǎn)程存儲(chǔ)庫(kù)中,我們可以通過(guò) Git 協(xié)議中的 pull 指令提取新特征到我們的本地庫(kù)。如果這個(gè)新特征與我們的存儲(chǔ)庫(kù)沖突,我們可以讓代碼恢復(fù)到改變前的狀態(tài),或者調(diào)整推送一個(gè)更新的版本到遠(yuǎn)程存儲(chǔ)庫(kù)。

Git 協(xié)議可以幫我們追蹤并快速定位沖突,使得優(yōu)化和修復(fù)都更加簡(jiǎn)單。

4. 如何使用 Github

我們已經(jīng)知道 Github 使用了 Git 協(xié)議,我們繼續(xù)建立自己的存儲(chǔ)庫(kù),在完成注冊(cè)后然后將它存在 Github 上,這里相當(dāng)于一個(gè)開(kāi)發(fā)者的社交網(wǎng)絡(luò)平臺(tái),我們可以下載最新的 Git 協(xié)議。

 

 

我們通過(guò)在 Github。com 上使用 git config 指令確定自己的用戶名和郵箱,然后就可以通過(guò)在命令行使用 git init 指令建立自己的本地 Git 庫(kù)?梢孕陆ㄒ粋(gè)代碼文件夾,并且通過(guò)直接把更改添加到緩存區(qū)來(lái)將其添加到 Git。

每一個(gè)開(kāi)發(fā)者只負(fù)責(zé)自己的分支,我們可以在本地匹配他們,然后提交方案,不同的提交來(lái)自于不同的分支,所有分支逐漸導(dǎo)向 master 節(jié)點(diǎn),這也是為什么 Git 會(huì)呈現(xiàn)樹(shù)形結(jié)構(gòu)。

GitHub 是一個(gè)社交網(wǎng)絡(luò)平臺(tái),你可以關(guān)注并追蹤其他開(kāi)發(fā)者的最新代碼,關(guān)注你的開(kāi)發(fā)者越多,他們?cè)接锌赡芴嵘愕拈_(kāi)源項(xiàng)目。而良好的文件記錄極有助于讓其他開(kāi)發(fā)者關(guān)注你的代碼。所以你還在等什么?快加入 GitHub 吧!

視頻原址:https://www.youtube.com/watch?v=Loav1kbA640

標(biāo)簽: 安全 代碼 開(kāi)發(fā)者 媒體 數(shù)據(jù)庫(kù) 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:實(shí)時(shí)數(shù)據(jù)平臺(tái)設(shè)計(jì):解決從OLTP到OLAP實(shí)時(shí)流轉(zhuǎn)缺失

下一篇:Kafka 2.0重磅發(fā)布,新特性獨(dú)家解讀