kernel359 发表于 2013-12-18 19:02

svn学习笔记

本帖最后由 kernel359 于 2013-12-18 19:02 编辑

    对SVN,个人在网上查了些资料,做了个粗略的学习,慢慢补充,以此记之。
    欢迎各位路过、看过的兄弟们提提意见。

系统:centos6.3 x86_64

1.SVN安装
yum install httpd httpd-devel subversion mod_dav_svn //因为我以前已安装apache,所以httpd httpd-devel此时没装

2.查看安装的模块
cd /etc/httpd/modules//切换路径
ls | grep svn//查看安装的模块
   mod_authz_svn.so
   mod_dav_svn.so

3.查看安装是否成功
svnserve --version//如果能显示版本号之类的,则安装成功

4.建一个仓库目录(先切到了主目录: cd ~)
mkdir -p svn/project //以后所有的仓库都可以放入到这个里面
svnadmin create --fs-type fsfs svn/project/python //创建了一个名为python的仓库
ls svn/project/python //可看到


5.初始化仓库目录(将 ~/tmp/python目录下的所有文件及目录,导入创建,作为最初的文件)
svn import tmp/python file:///home/xxxx/svn/project/python --message "log 001" ## /home/xxxx/svn/project/python是仓库的绝对路径

6.查看创库中的文件
svn list --verbose file:///home/xxxx/svn/project/python

7.配置这个仓库
cd svn/project/python/conf
vim passwd//在文件最后加增加htest用户,密码为123456


vim authz//给用户加权限,在文件最后加上


vim svnserve.conf //配置访问控制,在下面加


8.启动服务
svnserve -d -r svn/project --listen-host 192.168.8.125
注:d服务在后台运行
       r后面是仓库的根目录,当我们在仓库中用 "/"根目录时,实际上它等同于服务器上的 svn/project这个目录
       --listen-host x.x.x.x监听的服务器IP
       --listen-port x监听的端口(如 --listen-port 999 ,则在以后连仓库的时候,要加上端口号,默认为 3690)
      //可用 ps -ef | grep svn 查看服务是否已经启动
另:无论是自己加的端口,还是默认的,都要配置
   sudo vim/etc/sysconfig/iptables
   -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT//添加的内容
   sudo service iptables restart   //重启防火墙


##### 以下是在客户端的操作,可以找个图形 化的客户端,我的测试是在本机上,用命令行××××××××××

9.为仓库创建一个本地目录
mkdir test

10.同步服务器上的文档到本地
cd test
svn co svn://192.168.8.125/python注:此处目录已经直以服务器上的 svn/project 为根目录了,如果不是默认端口,则要加端口号,同步完成,则test目录下,会有一个python目录

11.更改文件
cd python
vim test.py
……
//加上自己的内容
svn diff//可以查看自己更改了哪些,即与以前版本不同的地方

12.添加更改后的文件
svn add test.py
注:这只是添加到了本地的仓库
      另外,除了单个文件外,也可也新建目录,并在目录中创建文件,然后一起加上去
      如: 在创建test目录,并在其下建一个a.c文件
         mkdir test
         cd test
         echo "sadfsd " > a.c
         cd..
         svn add test //这会把整个文件夹及其下面的文件加入仓库

13.将本地更改提交到服务器
svn commit -m "002"


杂类:
1.svn status
可以查看本地新建的文件以及更改的文件有哪些,哪些是已经 add 到本地了(m表示),还有哪些是没有的(?表示)

2.svn diff
可以查看本地更改后,并 add 到本地仓库,但还没有提交到服务器的文件及目录,其实它是自己更改后所有文件,与上次update到本地的版本进行比较的结果

3.svn log
可以查看所有的版本列表及log信息

4.svn update
本地把服务器上的数据同步下来

5.svn revert -r xx
回退到 xx 这个版本,xx 这个号,可以从svn log显示的列表中得到










页: [1]
查看完整版本: svn学习笔记