版本管理工具是干什么用的?
1)備份文件。
就像U盤備份我們的文件一樣。
我們的代碼也可以進行備份。每當(dāng)我們對代碼有修改的時候,提交我們的修改給版本管理工具進行一個保管。如果哪一天我們的電腦壞了,還可以從備份文件中恢復(fù)回來。
2)記錄歷史。
我們說了版本管理工具可以幫我們保管文件,但是版本管理工具的保管和U盤,網(wǎng)盤的保存方式不一樣,它們幫我們保存的是最新的文件狀態(tài),歷史的某個狀態(tài)是找不回來的,修改記錄我們也不能找回來。對于版本管理工具而言,每一次的修改,修改完提交給版本管理工具之后,都會留一份備份,它會記錄是誰,哪個時間,修改了什么,所以當(dāng)我們?nèi)ゲ檎覛v史版本記錄的時候,版本管理工具是可以告訴我們的。
版本管理工具會將我們的每一次提交都做一個備份,所以我們一不小心徹底刪除了某一個日記,包括我們的電腦,網(wǎng)盤,U盤還有其他的都不見了,而且我們還把這個操作提交給了版本管理工具,但是通過版本管理工具,我們可以通過歷史的備份恢復(fù)回來。
3)多端共享
我們托管的文件可以在多段進行同步,就如iCloud,可以在多端進行同步。云同步,云備份這些。可以在不同的設(shè)備上拿到文件。
版本管理工具的發(fā)展歷史
(注意:github不是版本管理工具,而是一個程序員社區(qū)網(wǎng)站。是一個程序的托管庫)
CVS:是河南大學(xué)的一個教授開發(fā)出來的。集中式的版本管理工具。集中式就如網(wǎng)盤一樣,會把自己最新的文件放到最終的服務(wù)器上,每當(dāng)有更新,就從中心服務(wù)器中把最新的文件拿到我們本地的電腦上,修改好以后再放到中心服務(wù)器上。
好處:能連接到中心服務(wù)器,就把最新的代碼放到中心服務(wù)器。
壞處:不能聯(lián)網(wǎng)就不能做更新。
SVN:將版本管理工具發(fā)揚光大。國外公司開發(fā)的,創(chuàng)建一個更加好的管理工具去替換CVS。
GIT: Linus開發(fā)的。分布式。git正在逐步替換掉SVN。
集中式:需要中心服務(wù)器放置最新的文件,如果不聯(lián)網(wǎng)就不能進行提交,不能查看之前的一些記錄,很多操作都不能做。
分布式:不同于集中式。每一個擁有版本庫的人都可以在不聯(lián)網(wǎng)的情況下,快速的完成提交,查看記錄,或要刪除某些操作,在效率上比集中式要高很多。