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

 代码管理平台介绍

代码管理平台介绍--svn

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

安装sv 

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

下载服务端

[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命令web

[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

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

说明:是在客户端操做vim

[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/windows

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


下载完成后点击打开,全部都点击下一步

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

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

点击svn checkout

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

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

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

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

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

 

把客服端的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便可

相关文章
相关标签/搜索