九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
GitHub 到底為啥這么受歡迎?我們?yōu)槟阏砹艘环菔褂霉ヂ?/div>

作者:Siraj Raval 

翻譯:雷鋒字幕組 于志鵬  朱海振

來(lái)源:雷鋒網(wǎng)



 

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


你可能會(huì)發(fā)現(xiàn) GitHub 有個(gè)很鮮明的特色,它允許開發(fā)者通過(guò)一個(gè)共享界面實(shí)現(xiàn)合作,在這里你可以以你認(rèn)為好的方式修改他人的開放代碼,也可以邀請(qǐng)他人來(lái)協(xié)助你完善你的。這種合作就像特斯拉公司要發(fā)布一輛新車型,他們會(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ū)使世界各地的開發(fā)者互相協(xié)作,并且一旦發(fā)生問(wèn)題,是否有可能修改或還原呢?


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


十幾年前,大名鼎鼎的程序員 Linus Torvalds 正忙于構(gòu)建一個(gè)操作系統(tǒng),并且與其它開發(fā)者一起不斷修改代碼,因此他需要一個(gè)方式去追蹤代碼是如何隨著時(shí)間更改的,這樣一旦發(fā)生問(wèn)題可以很輕易的回到之前的版本。


一般來(lái)說(shuō)我們會(huì)不斷地保存副本并重命名,我想你寫論文也碰見過(guò)這種情況:一稿、二稿…絕不修改版本…再次修改版本…這簡(jiǎn)直是噩夢(mèng),所以 Linus 寫了 Git 協(xié)議,用來(lái)提供項(xiàng)目最新的注釋合集和按時(shí)間排序的代碼更改歷史。直到現(xiàn)在,Git 協(xié)議幾乎是每一個(gè)現(xiàn)代開發(fā)工作流的核心。


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


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



我們需要研發(fā)新車型,事實(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. 開發(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è)開發(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è)開發(fā)者只負(fù)責(zé)自己的分支,我們可以在本地匹配他們,然后提交方案,不同的提交來(lái)自于不同的分支,所有分支逐漸導(dǎo)向 master 節(jié)點(diǎn),這也是為什么 Git 會(huì)呈現(xiàn)樹形結(jié)構(gòu)。


來(lái)源:油管 Artificial Intelligence Education 專欄

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服