場景
記得在畢業(yè)答辯秸架,寫畢業(yè)論文的時候,導師會讓我一遍遍改論文救鲤,為了確保改之后久窟,可以和之前的對比,并且做個備份以免改錯蜒简,通常都會本地在電腦上在copy一份瘸羡,叫什么某某修改前1版或者v1,v2等等搓茬,然后在去改犹赖。這樣隨這時間的推移,電腦上的版本也就是copy的文件就會越來越多卷仑,為了解決這個問題峻村,出現(xiàn)了以下方案
方案一:本地版本控制
為了解決以上這個問題,就有人開發(fā)了本地版本工具锡凝,使用這個工具粘昨,本地就只有一個文件了,工具會幫助你創(chuàng)建你的版本文件,只是你看不到张肾,工具會隱藏起來這些版本文件芭析,統(tǒng)一幫你管理,但是本質(zhì)上還是copy文件吞瞪,這里要說明下馁启,這個時候文件保存依舊在是本地電腦上,如果其他同學需要和你一起修改芍秆,那這種方式就有問題了惯疙,所以后面又出現(xiàn)了集中式版本控制
方案二:集中式版本控制
會把所有的版本都存到中央服務器,其他同學都會重這個中央服務器拿版本文件妖啥,也就是說中央服務器管理所有版本霉颠,每位同學都只是保留一個版本,這樣就解決了荆虱,本地管理方案下文件共享的問題蒿偎,典型的應用就是SVN,但是這種方式也有個明顯的缺點克伊,就是當網(wǎng)絡出現(xiàn)問題的時候酥郭,A、B兩位同學是沒辦發(fā)把修改的版本同步到中央服務器的愿吹,并且本地電腦上也是沒有任何的版本記錄不从。隨著時間的推移,又出現(xiàn)了另外一個版本管理工具:分布式版本控制(GIT)犁跪,它的出現(xiàn)就解決了集中式版本控制的網(wǎng)絡缺陷的問題和版本記錄問題
方案三:分布式版本控制
和集中式版本控制一樣椿息,分布式也是有中央服務器的概念,但是分布式和集中式最大的區(qū)別就是坷衍,分布式管理工具會使每位同學的電腦上都會保留所有的版本寝优,這樣即便網(wǎng)絡出現(xiàn)問題或者某一端出現(xiàn)問題的時候依舊保留版本或者文件的完整性,大家仍然可以進行版本的控制枫耳,等當有網(wǎng)路的時候乏矾,在同步到中央服務器,典型的工具就是GIT
為什么要有版本記錄
1迁杨、防止線上版本出問題钻心,可以回滾
2、對以往代碼迭代進行記錄铅协,方便以后可以瀏覽