Git 是一個開源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的專案,
1.什么是版本控制
版本控制最主要的功能就是追蹤檔案的變更,它將什么時候、什么人更改了檔案的什么內容等資訊忠實地了記錄下來,
每一次檔案的改變,檔案的版本號都將增加,
版本控制的另一個重要功能是并行開發,
軟體開發往往是多人協同作業,版本控制可以有效地解決版本的同步以及不同開發者之間的開發通信問題,提高協同開發效率,
2.什么是版本控制系統
版本控制系統是一種記錄一個或若干檔案內容變化,以便將來查閱特定版本修訂情況的系統,
它可以保存專案代碼的所有檔案的修訂版本,
可以將某個檔案回溯到之前的版本,甚至將整個專案都回退到過去某個時間點的狀態,
可以協作編輯
你可以比較檔案的變化細節,查出最后是誰修改了哪個地方,從而找出導致怪異問題出現的原因,又是誰在何時報告了某個功能缺陷,
就算你亂來一氣把整個專案中的檔案改的改刪的刪,你也照樣可以輕松恢復到原先的樣子, 但額外增加的作業量卻微乎其微,3.集中/分布式版本控制系統
先說集中式版本控制系統,版本庫是集中存放在中央服務器的,而干活的時候,用的都是自己的電腦,所以要先從中央服務器取得最新的版本,然后開始干活,干完活了,再把自己的活推送給中央服務器,中央服務器就好比是一個圖書館,你要改一本書,必須先從圖書館借出來,然后回到家自己改,改完了,再放回圖書館, 分布式版本控制系統根本沒有“中央服務器”,每個人的電腦上都是一個完整的版本庫,這樣,你作業的時候,就不需要聯網了,因為版本庫就在你自己的電腦上,既然每個人電腦上都有一個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了檔案A,你的同事也在他的電腦上改了檔案A,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了,和集中式版本控制系統相比,分布式版本控制系統的安全性要高很多,因為每個人電腦里都有完整的版本庫,某一個人的電腦壞掉了不要緊,隨便從其他人那里復制一個就可以了,而集中式版本控制系統的中央服務器要是出了問題,所有人都沒法干活了,
在實際使用分布式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在一個局域網內,兩臺電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機,因此,分布式版本控制系統通常也有一臺充當“中央服務器”的電腦,但這個服務器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣干活,只是交換修改不方便而已,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/392069.html
標籤:其他
上一篇:黑盒測驗、白盒測驗與灰盒測驗方法
