svn-Windows 下的搭建和使用(老版本)

注:内容来源为 尚硅谷 学院教学内容,侵删。

svn:版本控制器;

需求之一:备份

需求之二:代码还原

需求之三:协同修改

需求之四:多版本项目文件管理

需求之五:追溯问题代码的编写人和编写时间

需求之六:权限控制

Subversion;apache;版本控制器;

我们将每天的代码提交到公司的代码库(远程的svn仓库);

 

1、安装svn服务器;svn服务器负责保存所有项目的所有信息;

2、需要哪个项目从svn服务器下载下来;

 


  1.  

    1. SVN基本操作

检出checkout):将一个服务器端创建好的项目整个下载到本地,这是到项目组后参与开发的第一步,只需执行一次。

更新update):将本地文件更新为服务器端的最新版本,通常为每天上班时或修改公共文件之前执行一次。

提交commit):将本地修改提交到服务器端。通常每天下班前或每实现一个功能、完成一个模块时执行一次。

 

 

 


1、安装SVN;装在非中文无空格目录

2、配置环境变量;为了和任何地方都能直接运行svn命令;

将bin目录的放在环境变量下Path

 


3、配置版本库?

每一个项目最终都会有非常多的版本;我们应该有一个保存这些项目所有版本的地方:版本库!

存所有项目的地方;

D:\devsoft\SvnServer\repository:计划用来保存所有项目

我们应该将每一个项目所属的代码提交到自己的文件夹内;

1、每一个小文件夹认为是当前项目自己的版本库:

     将一个普通的文件夹()变成一个svn认识的版本库;

     1)、来到D:\devsoft\SvnServer\repository\BookStroe

     2)、使用命令;变成一个版本库

 

svnadmin create D:\DevRepository\Subversion\StuSys

 

     3)、版本库的样子

conf:当前版本库的所有配置文件

db:实际上是保存项目的所有java文件等...实际上也是保存在svn自带的一个小数据库中,密文;

hooks:钩子程序;

locks:文件锁定

format;

只有版本库里面才能提交保存数据;

 


4、为了方便期间,我们应该将svn的启动做成一个随windows一起启动的服务;

1)、先尝试手动启动svn服务

svnserve -d -r 版本库的根目录(D:\devsoft\SvnServer\repository )

2)、看是否启动了

;来看是否有3690端口;

 

 


5、将svn启动做成系统服务;

只有管理员才能自己为系统创建服务

 

 

sc create MySVNServer binpath= "D:\develop\svn\bin\svnserve.exe --service -r D:\develop\svn\repository" depend= Tcpip start= auto

pause

 

三个位置:

1、服务名:MySVNService

2、svnserve.exe文件的位置

3、版本库的根目录

 


6、测试几个svn的命令;

     1)、从服务器中检出项目;         

               svn checkout svn://SVN服务器主机地址/具体仓库目录 保存检出内容的目录

      svn checkout 项目地址 保存到哪个目录的目录名

     里面有一个.svn隐藏文件,不要删除;

     2)、提交;

          1)、第一次提交,有如下问题

          

          2)、第一次需要将要提交的文件纳入版本控制;

          svn add 文件名.后缀名

          

          3)、纳入到版本控制里面的文件才能提交到服务器上 svn commit 又完蛋

               提交的时候,必须有一个提交说明(日志信息);

          4)、需要提交的时候,使用-m参数,随便指定一个提交日志;

        5)、认证失败;(权限问题);需要来到版本库中来看;需要修改当前库中的权限,去conf文件夹,修改配置(svnserve.conf)

     ,表示未经授权的任何人都可以读写;

          6)、给服务器上提交一个文件;svn commit -m "日志信息" 文件名

          


7、路径问题:

 创建服务是-r指定的路径就是;  svn://localhost/的路径

 


8、整个流程:

     1)、新的员工;李四来了;第一步,要把整个项目先从服务器上下载下来;

               svn checkout svn://localhost/CRM  MyCRM

     2)、老员工张三,修改了一个文件,修改以后需要提交

               svn commit -m "老张修改了文件" hello.txt;

     

     3)、李四,今天来上班;需要将要修改的文件更新;svn update;就会将项目中更新的东西下载下来;

               

      4)、整个流程;

          入职第一天,将项目检出----每天下班提交修改的内容-----每天上班第一件事先更新项目看有没有新增的东西;

 


9、Eclipse与SVN

1)、插件安装

     1、将整个插件zip解压,将解压的整个文件夹;放在eclipse下的dropins

     2、成功的标志

     

 

2)、分享&检出

     1)、分享;将新创建的项目放到svn服务器;

               如果是命令行;

               1、创建一个文件 2、将其做成一个版本库 3、将整个项目先加入到版本控制中  4、提交

               Eclipse:

               1、项目上右键-Team-share Project

               

               2)、先自己创建一个版本库,让svn能连接到这个版本库

                    svnadmin create D:\devsoft\SvnServer\repository\hellosvn-01

                    

                    当前项目就保存在hellosvn-01版本库中;svn add 添加到版本控制的命令

               3)、第一次也可能是认证失败,请先修改这个版本库的权限;Team-提交即可

               

               4)、有新的修改没有提交(提交)

                    

                         我们来提交

                    

                    

 

3)、检出

          1、

          

          2、连接到我们要检出的项目的svn地址

          

       3)、一路next;

       4)、我们每次进来,养成良好习惯,先更新看项目有没有修改;

       5)、一个版本库中可以提交很多的项目

       6)、如何查看这个版本库中都有哪些;svn资源库研究

 

 

使用资源库研究看当前资源库有什么东西

也可以在项目上右键检出为;来检出一个新的项目;

 

4)、冲突

 

 

1、使用编辑冲突

 

2、只是想对比一下

3、我们对比着,添加或者修改完代码以后;标记为已解决

生成的乱起八早的文件就没了

4、提交我们修改后的代码

 

5)、权限;

          可以进行权限控制,让部分授权的人才能访问;

          在每一个版本库中,都有一个conf文件夹,可以配置当前版本库的访问权限;

          1、去svnserve.conf中修改

          

          

          anon-access = none:匿名访问不允许

auth-access = write:授权访问,可以读写

password-db = passwd:密码文件保存在哪里(密码文件有用户名密码等);密码文件就是同目录下的passwd文件

authz-db = authz:授权文件就是同目录下authz文

2、在passwd文件中配置用户名密码

 

 3、在authz文件中配置哪些用户可以访问哪些资源

 

[groups]:给passwd文件中指定的用户进行分组

 

[/] :[当前版本库下的所有资源]

leifengyang = rw          leifengyang用户拥有读写权限

@devGroup = rw         @是一个语法格式, 代表当前的组有读写权限

* =                                 除过上面指定的外,所有人没有任何权限

 

 

 

如果我们保存了密码,结果密码被管理员改了,eclipse不弹出输入密码对话框;

C:\Users\【用户目录】\AppData\Roaming;

    将Roaming下的subversion文件夹清空即可

 

6)、时光机

          

     项目要求:

          1)、组长负责创建svn服务器和创建好版本库;

          2)、并修改权限文件。只可以让组员有读写权限

          3)、每个组给老师添加读写权限;用户名=lfy;密码=

          

          

 

注意:如果是在eclipse中切换账号,需要在工程目录下将原先保留的数据进行清除,这样才能在提交的时候重新输入新的用户。具体的方法是:到工程所在的文件夹下----右键----tortoseSVN----setting----saved data--- clear the 'Authentication data',以前的保存用户已经删除,这样,重新提交或者修改工程,输入自己的用户名,密码即可。

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值