更新時(shí)間:2022年03月15日10時(shí)37分 來(lái)源:傳智教育 瀏覽次數(shù):
Git 是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),是目前世界上最先進(jìn)、最流行的版本控制系統(tǒng)??梢钥焖俑咝У靥幚韽暮苄〉椒浅4蟮捻?xiàng)目版本管理。特點(diǎn):項(xiàng)目越大越復(fù)雜,協(xié)同開(kāi)發(fā)者越多,越能體現(xiàn)出 Git 的高性能和高可用性。
Git 之所以快速和高效,主要依賴(lài)于它的兩個(gè)特性:直接記錄快照,而非差異比較;近乎所有操作都是本地執(zhí)行。
傳統(tǒng)的版本控制系統(tǒng)(例如 SVN)是基于差異的版本控制,它們存儲(chǔ)的是一組基本文件和每個(gè)文件隨時(shí)間逐步累積的差異。
好處:節(jié)省磁盤(pán)空間,缺點(diǎn):耗時(shí)、效率低。在每次切換版本的時(shí)候,都需要在基本文件的基礎(chǔ)上,應(yīng)用每個(gè)差異,從而生成目標(biāo)版本對(duì)應(yīng)的文件。
Git 快照是在原有文件版本的基礎(chǔ)上重新生成一份新的文件,類(lèi)似于備份。為了效率,如果文件沒(méi)有修改,Git不再重新存儲(chǔ)該文件,而是只保留一個(gè)鏈接指向之前存儲(chǔ)的文件。
缺點(diǎn):占用磁盤(pán)空間較大
優(yōu)點(diǎn):版本切換時(shí)非???,因?yàn)槊總€(gè)版本都是完整的文件快照,切換版本時(shí)直接恢復(fù)目標(biāo)版本的快照即可。
特點(diǎn):空間換時(shí)間
在Git 中的絕大多數(shù)操作都只需要訪(fǎng)問(wèn)本地文件和資源,一般不需要來(lái)自網(wǎng)絡(luò)上其它計(jì)算機(jī)的信息?;谶@一特點(diǎn),Git在斷網(wǎng)后依舊可以在本地對(duì)項(xiàng)目進(jìn)行版本管理,只需聯(lián)網(wǎng)后,把本地修改的記錄同步到云端服務(wù)器即可。
使用Git 管理的項(xiàng)目,擁有三個(gè)區(qū)域,分別是工作區(qū)、暫存區(qū)、Git 倉(cāng)庫(kù)。如果把這些區(qū)域比作現(xiàn)實(shí)中紙質(zhì)文件的人工處理和收納管理,三個(gè)區(qū)域分別負(fù)責(zé)的任務(wù)是:
工作區(qū):負(fù)責(zé)處理工作的區(qū)域。
暫存區(qū):已完成的工作的臨時(shí)存放區(qū)域,等待被提交。
Git 倉(cāng)庫(kù):最終的存放區(qū)域。
已修改:表示修改了文件,但還沒(méi)將修改的結(jié)果放到暫存區(qū)
已暫存:表示對(duì)已修改文件的當(dāng)前版本做了標(biāo)記,使之包含 在下次提交的列表中;
已提交:表示文件已經(jīng)安全地保存 在本地的Git 倉(cāng)庫(kù)中。
注意:工作區(qū)的文件被修改了,但還沒(méi)有放到暫存區(qū),就是已修改狀態(tài)。 如果文件已修改并放入暫存區(qū),就屬于已暫存狀態(tài)。 如果Git 倉(cāng)庫(kù)中保存著特定版本的文件,就屬于已提交狀態(tài)。
基本的Git 工作流程如下:
①在工作區(qū)中修改文件
②將你想要下次提交的更改進(jìn)行暫存
③提交更新,找到暫存區(qū)的文件,將快照永久性存儲(chǔ)到Git 倉(cāng)庫(kù).
北京校區(qū)