版本管理工具简介
版本管理工具是干什么用的?
1)备份文件。
就像U盘备份我们的文件一样。
我们的代码也可以进行备份。每当我们对代码有修改的时候,提交我们的修改给版本管理工具进行一个保管。如果哪一天我们的电脑坏了,还可以从备份文件中恢复回来。
2)记录历史。
我们说了版本管理工具可以帮我们保管文件,但是版本管理工具的保管和U盘,网盘的保存方式不一样,它们帮我们保存的是最新的文件状态,历史的某个状态是找不回来的,修改记录我们也不能找回来。对于版本管理工具而言,每一次的修改,修改完提交给版本管理工具之后,都会留一份备份,它会记录是谁,哪个时间,修改了什么,所以当我们去查找历史版本记录的时候,版本管理工具是可以告诉我们的。
版本管理工具会将我们的每一次提交都做一个备份,所以我们一不小心彻底删除了某一个日记,包括我们的电脑,网盘,U盘还有其他的都不见了,而且我们还把这个操作提交给了版本管理工具,但是通过版本管理工具,我们可以通过历史的备份恢复回来。
图片.png
3)多端共享
我们托管的文件可以在多段进行同步,就如iCloud,可以在多端进行同步。云同步,云备份这些。可以在不同的设备上拿到文件。
图片.png
版本管理工具的发展历史
图片.png(注意:github不是版本管理工具,而是一个程序员社区网站。是一个程序的托管库)
CVS:是河南大学的一个教授开发出来的。集中式的版本管理工具。集中式就如网盘一样,会把自己最新的文件放到最终的服务器上,每当有更新,就从中心服务器中把最新的文件拿到我们本地的电脑上,修改好以后再放到中心服务器上。
好处:能连接到中心服务器,就把最新的代码放到中心服务器。
坏处:不能联网就不能做更新。
SVN:将版本管理工具发扬光大。国外公司开发的,创建一个更加好的管理工具去替换CVS。
GIT: Linus开发的。分布式。git正在逐步替换掉SVN。
集中式:需要中心服务器放置最新的文件,如果不联网就不能进行提交,不能查看之前的一些记录,很多操作都不能做。
分布式:不同于集中式。每一个拥有版本库的人都可以在不联网的情况下,快速的完成提交,查看记录,或要删除某些操作,在效率上比集中式要高很多。