亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

一分鐘了解GIT

Git是什么?

Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)(沒有之一)。

Git有什么特點(diǎn)?簡(jiǎn)單來說就是:高端大氣上檔次!

那什么是版本控制系統(tǒng)?

如果你用Microsoft Word寫過長(zhǎng)篇大論,那你一定有這樣的經(jīng)歷:

想刪除一個(gè)段落,又怕將來想恢復(fù)找不回來怎么辦?有辦法,先把當(dāng)前文件“另存為……”一個(gè)新的Word文件,再接著改,改到一定程度,再“另存為……”一個(gè)新文件,這樣一直改下去,最后你的Word文檔變成了這樣:

一分鐘了解GIT

過了一周,你想找回被刪除的文字,但是已經(jīng)記不清刪除前保存在哪個(gè)文件里了,只好一個(gè)一個(gè)文件去找,真麻煩。

看著一堆亂七八糟的文件,想保留最新的一個(gè),然后把其他的刪掉,又怕哪天會(huì)用上,還不敢刪,真郁悶。

更要命的是,有些部分需要你的財(cái)務(wù)同事幫助填寫,于是你把文件Copy到U盤里給她(也可能通過Email發(fā)送一份給她),然后,你繼續(xù)修改Word文件。一天后,同事再把Word文件傳給你,此時(shí),你必須想想,發(fā)給她之后到你收到她的文件期間,你作了哪些改動(dòng),得把你的改動(dòng)和她的部分合并,真困難。

于是你想,如果有一個(gè)軟件,不但能自動(dòng)幫我記錄每次文件的改動(dòng),還可以讓同事協(xié)作編輯,這樣就不用自己管理一堆類似的文件了,也不需要把文件傳來傳去。如果想查看某次改動(dòng),只需要在軟件里瞄一眼就可以,豈不是很方便?

這個(gè)軟件用起來就應(yīng)該像這個(gè)樣子,能記錄每次文件的改動(dòng):

版本 文件名 用戶 說明 日期
1 service.doc 張三 刪除了軟件服務(wù)條款5 7/12 10:38
2 service.doc 張三 增加了License人數(shù)限制 7/12 18:09
3 service.doc 李四 財(cái)務(wù)部門調(diào)整了合同金額 7/13 9:51
4 service.doc 張三 延長(zhǎng)了免費(fèi)升級(jí)周期 7/14 15:17

這樣,你就結(jié)束了手動(dòng)管理多個(gè)“版本”的史前時(shí)代,進(jìn)入到版本控制的20世紀(jì)。

Git的特點(diǎn):

分布式相比于集中式的最大區(qū)別在于開發(fā)者可以提交到本地,每個(gè)開發(fā)者通過克?。╣it clone),在本地機(jī)器上拷貝一個(gè)完整的Git倉庫。

下圖是經(jīng)典的git開發(fā)過程。

一分鐘了解GIT

Git的功能特性:

從一般開發(fā)者的角度來看,git有以下功能:

1、從服務(wù)器上克隆完整的Git倉庫(包括代碼和版本信息)到單機(jī)上。

2、在自己的機(jī)器上根據(jù)不同的開發(fā)目的,創(chuàng)建分支,修改代碼。

3、在單機(jī)上自己創(chuàng)建的分支上提交代碼。

4、在單機(jī)上合并分支。

5、把服務(wù)器上最新版的代碼fetch下來,然后跟自己的主分支合并。

6、生成補(bǔ)丁(patch),把補(bǔ)丁發(fā)送給主開發(fā)者。

7、看主開發(fā)者的反饋,如果主開發(fā)者發(fā)現(xiàn)兩個(gè)一般開發(fā)者之間有沖突(他們之間可以合作解決的沖突),就會(huì)要求他們先解決沖突,然后再由其中一個(gè)人提交。如果主開發(fā)者可以自己解決,或者沒有沖突,就通過。

8、一般開發(fā)者之間解決沖突的方法,開發(fā)者之間可以使用pull 命令解決沖突,解決完沖突之后再向主開發(fā)者提交補(bǔ)丁。

從主開發(fā)者的角度(假設(shè)主開發(fā)者不用開發(fā)代碼)看,git有以下功能:

1、查看郵件或者通過其它方式查看一般開發(fā)者的提交狀態(tài)。

2、打上補(bǔ)丁,解決沖突(可以自己解決,也可以要求開發(fā)者之間解決以后再重新提交,如果是開源項(xiàng)目,還要決定哪些補(bǔ)丁有用,哪些不用)。

3、向公共服務(wù)器提交結(jié)果,然后通知所有開發(fā)人員。

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

適合分布式開發(fā),強(qiáng)調(diào)個(gè)體。

公共服務(wù)器壓力和數(shù)據(jù)量都不會(huì)太大。

速度快、靈活。

任意兩個(gè)開發(fā)者之間可以很容易的解決沖突。

離線工作。

缺點(diǎn):

資料少(起碼中文資料很少)。

學(xué)習(xí)周期相對(duì)而言比較長(zhǎng)。

不符合常規(guī)思維。

代碼保密性差,一旦開發(fā)者把整個(gè)庫克隆下來就可以完全公開所有代碼和版本信息。

好啦!今天的分享到這里就結(jié)束了,希望大家持續(xù)關(guān)注馬哥教育官網(wǎng),每天都會(huì)有大量?jī)?yōu)質(zhì)內(nèi)容與大家分享!

聲明:文章轉(zhuǎn)載于網(wǎng)絡(luò),版權(quán)歸原作者所有!

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!