1、回顾SVN三大指令
1》(Checkout)检出操作:①链接到SVN服务器端 ②更新服务端数据到本地。
注意:Checkout 只在第一次链接时操作一次,以后如果进行更新操作请使用Update(更新指令)
2》(Commit)提交操作:①提交本地数据到服务端。
以上工作大部分是由项目经理完成的,那么如果公司新来一个程序(李四),他需要做哪些操作呢?
1. 检出,完成之后就会把svn服务器上的文件同步至本地:
2. commit提交
update更新:会将最新的修改数据更新到本地
一. 图标集1. 常规图标:当客户端文件与服务器端文件完全同步时,系统显示以下图标
2. 冲突图标:当客户端提交的文件与服务器端数据有冲突,系统会显示以下图标
3. 删除图标:当服务端数据已删除,那么客户端该文件将显示以下图标
4. 增加图标:当我们编写文件已添加到提交队列,那么系统将自动显示以下图标
5. 无版本控制图标:当我们编写的文件没有添加到上传队列时,系统将自动提示以下图标
6. 修改图标:当客户端文件有修改但未提交,此时将自动显示以下图标
7. 只读图标:当客户端文件以只读形式存在时,将自动显示以下图标
8. 锁定图标:当服务端数据已锁定,那么客户端文件将自动显示锁定图标
9. 忽略图标:客户端文件已忽略,不需要进行提交上传,那么将自动显示以下图标
有些文件不希望上传至svn服务器,应该将该文件或该类型的文件添加至忽略列表
1. 忽略某个指定的文件
2. 忽略某类型文件
什么是版本回退有些时候,软件的运行可能使开发者或使用者不满意,这时我们需要把当前版本退回到以前的某个版本
- 在项目空白处鼠标右键
- 根据日志返回进行版本回退
根据日志信息选择要回退的状态
版本冲突提示:
解决:
1》. 合理分配项目开发时间
2》. 合理分配项目开发模块
3》. 通过SVN解决版本冲突问题
- 更新服务器端数据到本地,更新完成之后会出现四个文件:
- 删除除index.php以外的其他三个文件
- 打开index.php,修改整合index.php冲突文件
- 重新提交数据到SVN服务器端,即可解决版本冲突问题
在实际项目开发中,我们可能会同时开发多个项目,那么我们如何进行多项目监管呢?
通过svnserve进行仓库监管,但是监管指令只能监管某一个文件夹,而不能同时监管多个仓库。答:可以通过监管WebApp总目录来达到监管所有仓库的目的。
svnserve -d(后台运行)-r(监管目录)WebApp(项目总目录)
打开DOS窗口,输入如下指令:
svn://localhost 或p地址来访问D:/svn/WebApp目录
如果需要访问Shop项目、Wechat项目
Shop项目:svn://localhost/Shop
Wechat项目:svn://localhost/Wechat
如果要使用权限控制有一个前提:必须首先开启权限功能
在每一个仓库中都有一个conf文件夹,里面有三个文件。authz文件:授权文件告诉哪些用户具有哪些权限
passwd文件:认证文件,标识当前svn系统中具有哪些用户以及相应的密码默认情况下,以上两个文件都是禁用的,如需要使用,首先要开启以上两个文件
svnserve.conf 配置文件开启步骤如下:
- 注释匿名用户的可读可写权限
- 开启认证文件与授权文件
- 编写认证文件(passwd)定义相关用户名与密码
- 编写授权文件(authz),创建分组信息
配置项目,创建分组信息授权 - 测试
新建一个文件夹,将数据检出至本地,编写一个文件,提交,如果弹出以下页面,就代表已经授权成功了
sc create SVNService binpath= "D:subversionbinsvnserve.exe--service-r D:/svnroot" start= auto
sc create 服务名称 binpath=空格 "svnserve.exe-service-r D:/svn/WebApp" start=空格 auto创建系统服务,服务名 SVNService
①打开运行,输入cmd指令,打开DOS环境(请使用超级管理员运行)
②输入以下指令
③查看系统服务
控制面板→管理工具→服务
双击运行
如果运行成功代表开启SVN监管服务,以后运行系统时就能自启动SVN服务了。
我们创建几个文件,写入指令,双击运行就能对服务进行操作
启动服务:net start 服务名称
停止服务:net stop 服务名称
删除服务:sc delete 服务名称
所谓钩子就是与一些版本库事件触发的程序,例如新修订版本的创建,或是未版本化属性的修改。
默认情况下,钩子的子目录(版本仓库/hooks/中包含各种版本库钩子模板。
其他还有很多钩子文件可以查资料
post-commit.tmpl:事务完成后所触发的钩子程序
钩子程序默认情况可以采用批处理指令或Shell指令来进行编写
通过批处理指令编写钩子程序:
1. 指定svn服务端工作目录
设置服务器端SVN路径:SET SVN="D:svnbinsvn.exe"2. 指定Web服务器工作目录
设置服务器端项目运行目录
SET DIR="D:serverapachehtdocsshop"3. 通过update指令实时更新数据到DIR目录中
SVN update %DIR%
具体使用步骤:
第一步:复制 post-commit.tmpl为post-commit.bat文件
第二步:填入相关批处理指令
第三步:在apache目录创建Shop项目并更新SVN服务端数据到本地
第四步:更新文件到SVN服务器端,可以在Shop目录实时获取到最新数据
第五步:可以通过虚拟主机形式直接访问更新文件
百度应用引擎(BAE)是百度推出的网络应用开发平台。基于BAE架构,使开发者不需要维护任何服务器,只需要简单的上传应用程序,就可以为用户提供服务。
开发者可以基于BAE平台进行PHP、Java、Python、Nodejs应用的开发、编译、发布、调试。
如何使用BAE云引擎BAE地址:http://bce.baidu.com/
进入部署列表(BAE管理平台)
- 添加部署
单击管理控制台,添加成功如下图:
- SVN管理
通过SVN进行检出操作(之后可以向SVN服务器中添加或下载相关数据)
- 提交服务(Commit)
当我们的BAE服务器有数据的更新时,系统会自动弹出以下提示:
单击快捷发布,就会重新发布出去,再访问时就可以看到更新后的内容了·。



