Subervsion版本控制器

具体可以查看Subversion中国社区  http://www.iusesvn.com/     里面有详细的介绍哦

 

 

Subversion 是一个自由的/开源的版本控制器  

Subversion管理下,目录和文件可以超越时空

Subversion 可以恢复到早期的版本 或者查看修改的历史

能够自动的合并  ,允许你和别人一起完成文档并跟踪修改历史

 

同时多个人修改一个文件 可以用samba ftp httpd  创建共享目录赋予RW权限

现在可以用SVN技术也可以用

svn跟yum源的访问模式有点类似

baseurl=fil:///rhel7

baseurl=http://192.168.4.254:/rhel7

现在可以用svn技术,就不会用ftp等技术,也可以访问yum源,这样也可以达到同样的效果

作web修改的时候,传到服务器就可以可以同步

企业中经常用代码  目前,绝大多数开源软件都使用SVN作为代码版本管理软件

 

访问方式可以用命令和图形

访问额途径可以有web  本地   svn

 

svn跟拷贝的从新覆盖文件有点类似

svn的优势

1.每个客户连接本库,并为每个客户建立个人副本

2.每个客户修改自己的个人副本

3.最终合并最新版本

 

在web1 下安装yum -y install subversion

创建仓库

 

[root@web1 ~]# mkdir  /var/svn

[root@web1 ~]# svnadmin  create  /var/svn/project     这是一个仓库    project是仓库名  名字可以随意

[root@web1 ~]# ls /var/svn/project          只有创建仓库,才有能以下目录

conf  db  format  hooks  locks  README.txt

 

### dh -sh  查看文件大少    ls -R ?  ————-R:递归处理,将指定目录下的所有文件及子目录一并处理

 

本地初始化数据

 [root@web1 ~]# cd   /usr/lib/systemd/system

[root@web1 system]# svn import . file:///var/svn/project/  -m  "Init Data"

注意空格,没有空格不能执行

 

修改三个配置文件

1.改写匿名用户的权限和有效用户的写入权限,

密码文件和acl访问控制列表文件

vim  /var/svn/project/conf/svnserve.conf 

注意修改文件时候,注意顶格来写入,不然就不会报错

 19 anon-access = none

 20 auth-access = write

27 password-db = passwd

 34 authz-db = authz

2.密码文件

vim /var/svn/project/conf/passwd

[users]

# harry = harryssecret

# sally = sallyssecret

harry = 123

tom = 123

 

在文件最后写入用户和密码 “注意用户和密码在等号那里需要空格  user = harry  password  = 123”

3.acl 访问控制列表

vim  /var/svn/project/conf/authz 

[/]                                 定义acl的访问控制

harry = rw                    用户对根目录有可读可写的权限

tom = rw

* = r                              其他人只有只读权限

 

启动服务和检测端口状态

svnserve  -d -r /var/svn/project/   没有提示,需要手动检测端口号

也可以用这个来起服务  systemctl start svnserve  相当于没有-r 的效果,推荐第一个。

[root@web1 system]# ss -nultp  | grep  svnserve

tcp    LISTEN     0      7         *:3690                  *:*                   users:(("svnserve",pid=3437,fd=3))

这个Subversion 端口号是3690

 

二。客户端的访问测试

将服务器的代码下载到本地     

cd  /tmp     需要一个比较空的目录,这样下载比较好

[root@web2 tmp]# svn --username tom --password 123 co svn://192.168.2.100/ code

  1. 注意事项:客服端只要安装了Subversion就可以了。不用创库和导入文件
  2. //建立本地副本,从服务器192.168.2.100上co下载代码到本地code目录
  3. //用户名harry,密码pass
  4. code是目录,下载后会自己创建,名字可以任意修改

 

-----------------------------------------------------------------------

注意!  你的密码,对于认证域:

 

    3d117f93-bfa1-4f94-b053-e21dd0d1b6ad

 

只能明文保存在磁盘上!  如果可能的话,请考虑配置你的系统,让 Subversion

可以保存加密后的密码。请参阅文档以获得详细信息。

 

你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,

来避免再次出现此警告。

-----------------------------------------------------------------------

保存未加密的密码(yes/no)?yes

 

输入yes可以以后不用输入密码   

 

svn co                  下载

svn ci      上传

rm  -rf   *.service

svn update           更新

 

[root@web2 code]# svn info svn://192.168.2.100

查看仓库信息

[root@web2 code]# svn log svn://192.168.2.100        这两个问题有空再研究一下

查看版本仓库日志  “每一次修改都有追究功能”

 

 

添加代码操作

 

[root@web2 code]# echo test  > test.sh

[root@web2 code]# svn ci -m "new file" 这个没有添加是不会有报错信息 提交失败 不能被svn管理

[root@web2 code]# svn  add  test.sh 

A         test.sh

[root@web2 code]# svn ci -m "new file"

正在增加       test.sh

传输文件数据.

提交后的版本为 3。

 

[root@web2 code]# svn  mkdir  subdir

A         subdir

[root@web2 code]# svn ci -m "xxx"

正在增加       subdir

 

提交后的版本为 4。

[root@web2 code]# svn rm timers.target

D         timers.target

[root@web2 code]# svn ci -m "mm"

正在删除       timers.target

 

提交后的版本为 5。

 

 

subversion  文件修改和查看

[root@web2 code]# vim umount.target 

[root@web2 code]# svn diff  查看所有文件的差异,有一个列一个,有三个列三个

Index: umount.target

===================================================================

--- umount.target (版本 2)

+++ umount.target (工作副本)

@@ -10,3 +10,4 @@

 Documentation=man:systemd.special(7)

 DefaultDependencies=no

 RefuseManualStart=yes

+tomtomtom

[root@web2 code]# svn diff umount.target    单单就看一个文件修改的内容

Index: umount.target

===================================================================

--- umount.target (版本 2)

+++ umount.target (工作副本)

@@ -10,3 +10,4 @@

 Documentation=man:systemd.special(7)

 DefaultDependencies=no

 RefuseManualStart=yes

+tomtomtom

 

root@web2 ~]# svn cat svn://192.168.2.100/umount.target  查看服务器的内容,“可以另开一个页面,对比修改前和修改后的内容”服务器的内容是修改前的内容

 

Subervsion版本控制器

 

 

git——————> github全世界最大的开源的数据库

 

 

 

 

svn基础   

服务端

1.安装subversion     yum -y install  subversion

2.创建版本库          mkdir  /var/svn      svnadmin create  /var/svn/仓库名      subversion 仓库管理工具,可以svnadmin  help

3.导入项目代码    cd  /usr/lib/systemd/system    svn import . file:///var/svn/project/  -m  "Init Data"

                             import   执行导入操作      -m 是设置注释性字符串

4.认证与授权      

可以争强客服访问服务器的安全性 ,是通过版本库里的/conf/svnserve.conf的设置定义认证来授权的策略来实现控制访问

  vim  /var/svn/project/conf/svnserve.conf

  1. anon-access = none
  2. //19行,匿名无任何权限 也可以是 write read none
  3. auth-access = write
  4. //20行,有效账户可写 经过认证的客户可以有写的权限
  5. password-db = passwd
  6. //27行,密码文件 账户名称和密码文件,应该在conf目录下
  7. authz-db = authz
  8. //34行,ACL访问控制列表文件 基于路劲访问控制的文件名,(可以对文件名进行设置权限)这个实验还没有做过

5.svnserve 服务

vim /var/svn/project/conf/passwd 密码文件

cat /var/svn/project/conf/authz acl权限文件

客户端

1.访问方式——————有三种访问方式

1.1访问本地磁盘

1.2   svn访问方式——————这个用得比较多

  1. [root@web2 ~]# cd /tmp
  2. [root@web2 ~]# svn --username harry --password pass \
  3. co svn://192.168.2.100/ code        
  4. //建立本地副本,从服务器192.168.2.100上co下载代码到本地code目录
  5. //用户名harry,密码pass

1.3    http访问方式  

 

2.客户端命令行

3.windows客户端软件

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值