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