版本管理工具是干什么用的颠蕴?
1)備份文件泣刹。
就像U盤備份我們的文件一樣助析。
我們的代碼也可以進行備份。每當我們對代碼有修改的時候椅您,提交我們的修改給版本管理工具進行一個保管外冀。如果哪一天我們的電腦壞了,還可以從備份文件中恢復回來掀泳。
2)記錄歷史雪隧。
我們說了版本管理工具可以幫我們保管文件,但是版本管理工具的保管和U盤员舵,網(wǎng)盤的保存方式不一樣脑沿,它們幫我們保存的是最新的文件狀態(tài)智润,歷史的某個狀態(tài)是找不回來的日月,修改記錄我們也不能找回來仪吧。對于版本管理工具而言厨疙,每一次的修改歼郭,修改完提交給版本管理工具之后蔬浙,都會留一份備份否纬,它會記錄是誰盖袭,哪個時間仍秤,修改了什么熄诡,所以當我們?nèi)ゲ檎覛v史版本記錄的時候,版本管理工具是可以告訴我們的诗力。
版本管理工具會將我們的每一次提交都做一個備份凰浮,所以我們一不小心徹底刪除了某一個日記,包括我們的電腦苇本,網(wǎng)盤袜茧,U盤還有其他的都不見了,而且我們還把這個操作提交給了版本管理工具瓣窄,但是通過版本管理工具笛厦,我們可以通過歷史的備份恢復回來。
3)多端共享
我們托管的文件可以在多段進行同步俺夕,就如iCloud裳凸,可以在多端進行同步。云同步劝贸,云備份這些姨谷。可以在不同的設備上拿到文件映九。
版本管理工具的發(fā)展歷史
(注意:github不是版本管理工具梦湘,而是一個程序員社區(qū)網(wǎng)站。是一個程序的托管庫)
CVS:是河南大學的一個教授開發(fā)出來的。集中式的版本管理工具捌议。集中式就如網(wǎng)盤一樣哼拔,會把自己最新的文件放到最終的服務器上,每當有更新瓣颅,就從中心服務器中把最新的文件拿到我們本地的電腦上管挟,修改好以后再放到中心服務器上。
好處:能連接到中心服務器弄捕,就把最新的代碼放到中心服務器僻孝。
壞處:不能聯(lián)網(wǎng)就不能做更新。
SVN:將版本管理工具發(fā)揚光大守谓。國外公司開發(fā)的穿铆,創(chuàng)建一個更加好的管理工具去替換CVS。
GIT: Linus開發(fā)的斋荞。分布式荞雏。git正在逐步替換掉SVN。
集中式:需要中心服務器放置最新的文件平酿,如果不聯(lián)網(wǎng)就不能進行提交凤优,不能查看之前的一些記錄,很多操作都不能做蜈彼。
分布式:不同于集中式筑辨。每一個擁有版本庫的人都可以在不聯(lián)網(wǎng)的情況下,快速的完成提交幸逆,查看記錄棍辕,或要刪除某些操作,在效率上比集中式要高很多还绘。