git介绍:
git是一款SCM软件,用来管理源码文件,需求文档,设计文档,开发文档等项目文件
在团队开发中,通过SCM软件管理这些文件,而业界用的较多的是git,它支持多人协作同时开发,且不需要中央服务器,而是分布式的版本控制系统
git也是linus为了方便管理linux内核而开发的
基础概念:
1.版本控制概念,版本一般分为软件版本和文件版本
软件版本一般用数字,即软件版本号表示
文件版本一般用文件名,用来保存文件的历史记录,以及恢复数据
而版本控制基础功能有
1.保存和管理文件(自动生成版本文件)
2.提供客户端工具访问(无法直接访问,直接访问可能出问题,需要使用客户端工具访问不同版本文件)
3.不同版本文件的比对功能(筛选出不同版本文件的差异)
2.集中式版本控制
资源全放在中央服务器,想要资源,用户就得下载到本地,修改后又得上传
这样的版本控制有明显的缺点,用户同时下载的同一个版本文件,但是上传时间不一样,服务器的资源就会被覆盖为最后一个上传的资源,即文件冲突问题
而有些软件,如VSS,资源会被加上一把锁,在资源被下载后,资源就会被锁上,不允许其他用户下载(但是可以查看),直到原来被下载的资源的用户在上传,才会自动释放锁
如此就可以解决文件冲突问题,但是较为繁琐,且不能实现同时开发
而CVS,SVN也是类似的做法,但是它们做了约束,每一个用户只能修改资源的某一块区域,比如某一行,用户修改后可以直接提交,多个用户修改后,再把所有修改后的资源合并一下
但是如此仍然有缺点,比如多个用户对同一块区域,比如对同一行进行操作,如此就无法解决
以上所有做法都是集中式版本控制,一旦服务器寄了,所有用户就都无法使用资源了
3.分布式版本控制
类似集中式版本控制,仍然有中央服务器,但是却在本地复制一份资源库,如此服务器寄了,也可以继续写在本地服务器,服务器一旦恢复,就把本地和中央服务器进行同步
这样也有缺点,需要在本地复制一份中央服务器的资源,占用资源大,较为依赖网络
而git就是一种分布式版本控制系统
标签:文件,简要,版本控制,用户,笔记,Git,版本,服务器,资源 From: https://www.cnblogs.com/lxl-233/p/17328034.html