SVN: subversion 子级版本 (子级源代码版本控制管理软件)
它是代码版本管理软件,管理着随时间改变的数据。这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。
使用svn可以很好地协调一个团队共同开发同一个项目,而不会出现代码冲突、覆盖的情况。
双击setup-subversion-1.6.5.msi: 把svn安装到固定的一个文件夹下面,比如: 安装完毕会有这样的文件 客户端安装 双击安装客户端软件(安装完毕重启电脑): (根据自己操作系统位数64/32做选择安装) 客户端安装完毕,鼠标右键有相应的标志:
给svn服务器端创建多个代码仓库,用户存储开发的不同项目的程序源代码。 以管理员身份打开cmd > svnadmin create h:/svnServer/app/shop 创建完毕会在对应目录生成许多文件 如果svnadmin执行提示不是内部指令就到该指令的执行程序文件目录执行这命令
管理员身份打开cmd输入命令 svnserve -d(独立端口运行) -r(仓库地址) 仓库地址
> svnserve -d -r h:/svnServer/app/shop //启动shop仓库服务输完了先不要关闭cmd 该svn服务走svn协议,端口号码是3690 开启服务标志在windows任务管理器中进程查看svnserve.exe应该有这个进程
我的仓库是D:/linken 如果没有成功的话,右键点击文件夹空白处,右键菜单栏共享一行中停止共享 同时本地文件夹下面会出现.svn的隐藏文件夹,如何显示隐藏文件夹百度去
① 右键——> SVN—->Add (本地的.svn对该文件形成管理),每个文件只需要一次add操作接口 ② 右键——> Commit(提交) (本地的文件提交给svn仓库) 开启账号匿名账号提交权限 开始提交
刷新下,或者关闭文件夹再进,会有颜色显示 ① 蓝色加号:本地的.svn对该文件有形成管理 ② 绿色对号:本地文件、.svn管理的版本文件、仓库文件 三者内部一致 ③ 红色叹号:本地文件 与 .svn和仓库文件 不一致(用户自己修改了该文件) ④ 黄色叹号:表示该文件正处于冲突状态 ⑤ 蓝色问号:新建的一个文件,本地.svn 和 远程仓库 对该文件都没有记录
仓库内部的文件禁止修改
首次使用svn执行 checkout,同时会把仓库最新程序文件更新到本地。 给仓库提交程序文件,执行 commit指令 把仓库最新的程序文件更新到本地,执行 update指令 后期 commit 和 update 指令要频繁使用。
为了加快文件的提交速度,可以在项目文件目录点击“右键选择需要的文件——>commit”,svn会把当前目录及内部所有子级递归目录需要提交的文件给选取上供commit操作。 (新文件会通过commit指令把 add和commit 合并起来执行)无需add操作,如果是新文件会把add和commit合并执行
注意 新目录内部的文件不能直接提交,必须是目录本身已经提交给仓库了,该目录的文件才可以单独进行(add/)commit提交动作。
把所有仓库的上级目录当成服务给启动起来。
svnadmin create h:/svnServer/app/crm
>svnserve -d -r F:/svnServer/app/svn仓库的主机名可以设置如下:
>svn://localhost/仓库名称删除.svn文件,断开与仓库的联系 重新checkout并根据svn新主机名建立与仓库的新联系
一个程序文件可以在svn仓库里边形成许多不同版本,并可以随时查看、对比。
把文件切换到之前的某个版本:
两个程序员在短时间内对同一个文件进行修改,并进行提交,后提交的文件会尝试覆盖先提交者的文件,但是不会成功,因为有“冲突”机制避免此情况发生。
冲突解决: ① 令牌方式解决,给每个文件设置令牌,谁获得令牌谁有权利开发该文件。 vss(visual source safe)源代码控制管理软件使用该方式 ② 通过版本号码进行控制,用户commit文件,本地文件版本 与 仓库版本号码必须一致才可以提交,否则禁止提交。 (本地与服务器版本号码不一致,一定是本地的号码小于仓库的) SVN就是通过版本号码解决冲突
解决: 执行update操作,把仓库最新的文件更新到本地,并和本地文件做Merge融合(不是覆盖)操作。 之后继续提交文件即可。 然后这个文件是合并之后的文件
直接update操作把最新的版本更新到本地,与本地文件做Merge融合操作, 对冲突文件稍作修改后继续提交即可。 最后这3个文件都要删除,看完之后对2.txt修改再提交
在F:/svnServer/app/shop/conf/svnserve.conf中修改文件
设置账号 F:/svnServer/app/shop/conf/passWord
给具体用户设置权限
给一个组设置权限
开启只操作某个目录权限 步骤: ① 管理员先把该目录video给创建出来并提交给svn仓库 ② 给外部团队 设置账号 和 设置工作目录、和其分支目录权限 ③ 外包团队 建立与仓库分支目录 的联系(checkout) ④ 外包团队给该 目录提交文件 ⑤ 管理员执行update更新操作,把该分支目录从仓库更新下来即可查看外包团队的工作情况。 把被操作的文件目录video创建好并提交给svn仓库:
外包账号密码设置 外包权限设置 外包checkout设置
在DOS下设置这些,之前那个窗口可以关了
在计算机管理服务中把svnd启动
有的电脑由于权限限制禁止在dos窗口执行底层指令(例如sc create 或 sc delete).在dos操作没问题可以不用管 解决:可以把创建 和 删除 服务的指令保存为”批处理”(linux系统的shell脚本文件)程序文件。
删除服务操作
清除缓存
不要做这样操作:
在show log中把需要对比文件都选中对比
新闻热点
疑难解答