解决问题
多人协同开发同一项目
解决方法
scm(Software Configuration Management)软件配置管理,即对项目源码(数据)进行管理的技术。
常用scm软件
- cvs
- svn(subversion)
- vss
- clearcase
svn简介
- 支持windows和linux
- 服务器有两种运行方式:1. 独立服务器 2.借助apache,即svn:// & http://
- 流行客户端:tortoisesvn
- 比较、修补、标记、提交、回复和分支等功能 + 追踪移动和删除
svn工作原理:
- 服务器建立源代码库(可存放多个项目,由管理员统一管理);
- 用户使用时,将项目下载到本地;
- 用户本地修改,完成时利用svn提交。
版本控制
确保同步,保证开发
svn图示
svn工作原理
svn单仓库
- dav目录:是提供给Apache与mod_dav_svn使用的目录,让它们存储内部数据。
- db目录:是所有版本控制的数据存放文件。
- hooks目录:放置hook脚本文件的目录。
- locks目录:用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端。
- format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
- conf目录:是这个仓库的配置文件(仓库的用户访问帐号、权限等)
svn重要概念
- check out(检出):从源代码库中下载到本地
- check int(检入):提交
版本库浏览器
- 鼠标右键 → TortoiseSVN → 版本库浏览器
- 输入地址
svn图标提示
表示此文件或文件夹与仓库版本同步,本地也没有被修改过。
表示此文件或文件夹在本地被修改过,暂时还没有提交到SVN仓库中。在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作复本后被修改过,需要被提交。
如果在提交的过程中出现了冲突图标变成黄色感叹号。
如果你给一个文件设置了svn:needs-lock属性,Subversion会让此文件只读,直到你获得文件锁。只读文件具有这个重载图标来表示你必须在编辑之前先得到一个锁。
如果你拥有了一个文件的锁,并且Subversion状态是正常,这个重载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。
表示当前文件夹下的某些文件或文件夹已经被计划从版本控制中删除,或是该文件夹下某个受控的文件丢失了。
加号告诉你有一个文件或是目录已经被计划加入版本控制。
问题解决