文档章节

 代码管理平台介绍、安装svn、客户端上使用svn(linux)、客户端上使用svn(windows)

Linux_Anna
 Linux_Anna
发布于 2017/10/23 16:40
字数 1622
阅读 38
收藏 0

 代码管理平台介绍

代码管理平台介绍--svn

  • 版本控制,记录若干文件内容变化,以便将来查阅特定版本修订情况.
    比如某一个业务,需要不断更新,比如产品经理这周提交了产品新的需求,改动了一些代码,我们把新的代码上传到服务器上去,这时候去访问网站就产生了新的变化. 可能我们每天都有很多的代码需要更新,假如某天想要看几个月前某个业务都更新了哪些地方、都改了哪些功能,想要做一个统计,那就需要去翻看日志,如果这些日志存在还能找到,若这些日志都不存在,那么前面的变更就什么都不知道了. 有了这些代码管理平台之后,可以便我们查看前面做了哪些变更以及记录,且支持协同开发.
     
  • Svn全称subversion,是一个开源版本控制系统,最初母的是为了更好管理Linux内核代码
  • Git和svn不同在于Git不需要依赖服务端就可以工作,即git是分布式的.
  • GitHub是基于Git的线下web页面代码托管品台,可以选择付费服务
  • GitLab可以认为是一个开源的GitHub,两者没有直接关系

安装sv 

准备两台机器:192.168.2.115 -- 服务端
                        192.168.2.116 -- 客户端

下载服务端

[root@root-01 ~]# yum install -y subversion


创建版本库

创建版本库的目录:
[root@root-01 ~]# mkdir -p /data/svnroot/myproject


初始化:
[root@root-01 ~]# svnadmin create /data/svnroot/myproject


初始化后会生成配置文件等:
[root@root-01 ~]# ls -la /data/svnroot/myproject
总用量 8
drwxr-xr-x 6 root root  86 10月 23 11:38 .
drwxr-xr-x 3 root root  23 10月 23 11:34 ..
drwxr-xr-x 2 root root  54 10月 23 11:38 conf
drwxr-sr-x 6 root root 233 10月 23 11:38 db
-r--r--r-- 1 root root   2 10月 23 11:38 format
drwxr-xr-x 2 root root 231 10月 23 11:38 hooks
drwxr-xr-x 2 root root  41 10月 23 11:38 locks
-rw-r--r-- 1 root root 229 10月 23 11:38 README.txt


配置文件目录:
[root@root-01 ~]# cd /data/svnroot/myproject/conf/
[root@root-01 conf]# ls
authz  passwd  svnserve.conf
说明:authz 文件是用来控制权限的
    passwd 文件是用来定义密码的
    svnserve.conf 是仓库的配置文件

编辑authz文件 

vim authz


在[groups]下面添加:

Anna = user1,user2           Anna是用户组,用户组包含了两个用户(user1和user2)

[/]                          方括号里面的根指的是这个目录:/data/svnroot/myproject/conf/
@Anna = rw                   Anna用户组可读可写
* = r                        除了Anna用户组,其他的可读

另一种方式:
[myproject:/]                [myproject:/] 这表示一个项目,这种方式用在svnroot目录下有多个项目,也就是指定某个项目
user1 = rw


编辑passwd文件

[root@root-01 conf]# vim passwd 


[users]
# harry = harryssecret
# sally = sallyssecret

添加用户名和密码:
Anna = 123456
user1 = 586898
user2 = 586898


注:前面是用户名,后面是密码

编辑svnserve.conf

vim svnserve.conf

在[general]下面添加:

anon-access = none             anon--匿名用户 没有任何权限
auth-access = write            auth--被授权的用户 可写
password-db = passwd           指定用户密码的文件是passwd
authz-db = authz               指定用户权限的文件是authz
realm = /data/svnroot/myproject   表示对应哪个项目生效

启动svn 

启动:
[root@root-01 conf]# svnserve -d -r /data/svnroot/

查看进程:
[root@root-01 conf]# ps aux |grep svn
root       3877  0.0  0.0 162188   656 ?        Ss   13:48   0:00 svnserve -d -r /data/svnroot/
root       3882  0.0  0.0 112664   968 pts/0    S+   13:57   0:00 grep --color=auto svn

查看监听端口3690:
[root@root-01 conf]# netstat -nlpt |grep svn
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      3877/svnserve     

 

客户端上使用svn(Linux)


下载客户端

说明:客户端下载subversion就可以使用svn命令

[root@root-02 ~]# yum install -y subversion

 检索

检索:
[root@root-02 ~]# cd /home
[root@root-02 svn]# svn checkout svn://192.168.2.115/myproject --username=user1
认证领域: <svn://192.168.2.115:3690> /data/svnroot/myproject
“user1”的密码: 

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

   <svn://192.168.2.115:3690> /data/svnroot/myproject

只能明文保存在磁盘上!  如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。

你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?yes
取出版本 0。
[root@root-02 home]# ls
myproject

客户端更新的文件上传到服务端

说明:是在客户端操作

[root@root-02 ~]# cd /home/myproject

拷贝文件:
[root@root-02 myproject]# cp /etc/favicon.png .


增加:
[root@root-02 myproject]# svn add ./favicon.png 
A  (bin)  favicon.png

上传到服务端:
[root@root-02 myproject]# svn commit -m "add favicon.png"
正在增加 (二进制) favicon.png
传输文件数据.
提交后的版本为 2。


查看服务端

服务端本地是无法显示刚客户端上传的文件:
[root@root-01 ~]# cd /home/svntest/myproject
[root@root-01 myproject]# ls


升级可以看到客户端上传的文件:
[root@root-01 myproject]# svn up
正在升级 '.':
A    favicon.png
更新到版本 2。
[root@root-01 myproject]# ls
favicon.png 


客户端上使用svn(windows)

下载svn

svn官网:https://tortoisesvn.net/

点击DE EN ZH --> 点击下载 --> 根据系统下载32位或64位


下载完成后点击打开,所有都点击下一步

在桌面创建一个目录,命名为myproject

点击右键,看看有没有红色框框内的两个图标,若没有的话,重启电脑

点击svn checkout

说明: 红色框框内的IP地址和目录需要填写 --->点击ok

点击ok后会弹出认证对话框 

填写用户名和密码 -->点击ok

最后还会弹出一个对话框,点击ok即可

checkout后,myproject目录就有两个文件

 

把客服端的1.txt上传到服务端

创建1.txt --> 点击右键Tortoise SVN -->点击Add -->点击SVNcommit -->会弹出一个对话框,要填写add 1.txt -->点击ok --> 再点击ok

查看服务端,升级后就有1.txt

[root@root-01 ~] cd /home/svntest/myproject

升级:
[root@root-01 myproject]# svn up
正在升级 '.':
A    1.txt
更新到版本 5。
[root@root-01 myproject]# ls
123.txt  1.txt  favicon.png  fstab  test.txt

在Linux上创建11.txt,上传到服务端

[root@root-01 myproject]# vim 11.txt
[root@root-01 myproject]# svn add 11.txt
A         11.txt
[root@root-01 myproject]# svn commit -m "add 11.txt"
正在增加       11.txt
传输文件数据.
提交后的版本为 6。

Windows要想查看这个文件,点击右键SVNUpdate即可

© 著作权归作者所有

Linux_Anna
粉丝 10
博文 213
码字总数 208587
作品 0
广州
运维
私信 提问
85.代码管理平台介绍 svn相关

22.1 代码管理平台介绍 22.2 安装svn 22.3 客户端上使用svn(linux) 22.4 客户端上使用svn(windows) 扩展内容 同学分享的svn文档 http://note.youdao.com/noteshare?id=1bb87a28a2973ae5...

axin-linux
04/01
0
0
svn使用问题

大家好,我在虚拟机Linux下安装了svn服务器,在本机Windows上安装了客户端,根据教程,配置了http服务访问svn,我遇到一个问题,在浏览器上可以访问http://ip/svn,但是在svn客户端上不能访问...

樱木花道VS康
2017/06/25
95
3
100:代码管理平台svn

1:代码管理平台:代码版本管理工具,工作中用于代码更新,代码发布统计,代码版本控制;(频繁更新代码的版本记录),方便查阅历史变更,协同开发及合并; 版本管理工具发展: cvs(编码兼容不太好)...

芬野de博客
2018/11/20
52
0
SVN客户端上怎么切换登录用户

方案一: windows环境: 1、在项目上右键,选择TortoiseSVN-->settings, 2、在弹出的TortoiseSVN Settings页面中选择“Saved Data”选项, 3、然后点击“Authentication data”对应的“Clear...

李佳顺
2012/06/29
374
0
本地搭建Windows SVN服务器,管理自己的代码

做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效的管理。这里我就介绍一个在Windows环境下简单快速搭建SVN服务器的方法。   通常的SVN...

hchen1982
2012/08/31
846
2

没有更多内容

加载失败,请刷新页面

加载更多

zk中ToBeAppliedRequestProcessor解析

ToBeAppliedRequestProcessor在Leader中 在已处理事务和最后处理事务处理器之间,处理器链上下一个是FinalRequestProcessor public void processRequest(Request request) throws RequestPro...

writeademo
16分钟前
2
0
Allegro快捷键设置-PCB环境

立题简介: 内容:简单介绍Allegro绘制的PCB环境下的快捷键; 来源:实际使用得出; 作用:对Allegro绘制PCB快捷键进行介绍; PCB环境:Cadence 16.6; 立题详解: 对“allegro”板而言,其在...

demyar
17分钟前
2
0
idea maven web项目启动build时报错java.lang.NullPointerException

之前还好好的,重启一下idea就报这个错了,大概率是tomcat没杀掉端口被占用了,在tomcat配置中更换一下sever端口就好了

宇辰OSC
21分钟前
2
0
weed3-2.3.1.查询之输出

Weed3 一个超轻量级ORM框架(只有0.1Mb哦) 源码:https://github.com/noear/weed3 源码:https://gitee.com/noear/weed3 查询可是个复杂的话题了,可能我们80%的数据库处理都在查询。 今天先...

刘之西东
21分钟前
2
0
【Android JetPack系列】数据绑定:DataBinding

参考MVVM

Agnes2017
29分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部