如题 SVN mac下同步自己服务器、阿里云的服务器白放着不能亏啊。
自己搞点个人项目但是又不想带电脑、但又喜欢瞎折腾、记录下咯。
1.1简单点长驱直入、先终端看看有没有svn
直接终端输入咯、简单粗暴
svnserve --version
如上图、是有的、ojbk接着跳过这里到1.2
如果没有是找不到svn的、那就看这里
brew install svn
1.2 创建 svn 目录
mkdir /Users/用户名/svn
将之前创建的文件夹设置为 SVN 的代码库,创建 svn repository
svnadmin create /Users/用户名/svn/repository
正常情况下是上面这样的。
ps:(用户名填自己的、不知道忘记的就把一个文件拖进终端自己看、我的是一只老母猪的拼音、丝毫不慌(其实是懒得打码了))
配置 svn 的用户权限
主要是修改 /svn/mycode/conf 目录下的三个文件
1)、打开 svnserve.conf,将下列配置这四项前面的#和空格都去掉 (空格一定要去掉,否则失败)
修改上面箭头的,去掉#
其中 anon-access = read 代表匿名访问的时候是只读的,
若改为 anon-access = none 代表禁止匿名访问,需要帐号密码才能访问
如果修改记得修改anon-access第一个箭头啊。
2)配置 passwd 文件、写入用户及密码
以上内容标示创建了两个用户,
用户 user1 密码是 1111,
用户 user2 密码是 2222
3) 配置 authz 文件
打开 authz,将在 passwd 里添加的用户分配到不同的用户组,方便管理权限。
[groups]
user = user1,user2
在 [groups] 下添加 uesr = user1,user2 标示创建了两个用户
等号左边是组名,右边是用户名
分组权限配置
使用 [/] 代表 svn 服务器中的所有资源库
[/]
@super = rw
@user = rw 这两句标示给 users 用户组相应的权限
表示授权的目录路径,这里是根目录,如果根目录底下有一个目录叫做 svnCode, 那么我们如果要编辑此目录的权限那么就要写成 [svnCode:/]
@uesr 表示给用户组授权,如果要给某一个用户授权则不用写前面的 @
r 表示可读,w 表示可写。
@user = rw
表示对 lib 文件夹 user 组有读写权限
4). 启动 SVN 服务器
svnserve -d -r /Users/用户名/svn
样式运行如下图
我们也可以在活动监视器里进行检验查看查看查看成不成功、下图这个就是运行起来的样子、看起来还行。加油小伙计距离成功不远了。(参考了几篇我猜也差不多的了、反正也是自己折腾)
先这样了、搭建 svn 服务器环境了。
引用一下其他的先、有空再优化整理上。
启动 SVN
sudo svnserve -d -r /home/data/svn/
其中 -d 表示守护进程, -r 表示在后台执行
/home/data/svn/ 为 svn 的安装目录
关闭 SVN
这里采取 linux 杀死进程的方式处理的
ps -ef|grep svnserve
下面配置 Cornerstone
添加一个代码库
选择 SVN Server
server : 如果服务器在本地就写 localhost 在局域网的其他电脑上就写他的 ip 地址
repository path: 这里的地址用的是上面配置 svn 时的代码库路径,如果上面的路径跟我不同自己改一下
最下面两个是用户名和密码,最后 save 就好了,如果连接成功会显示 success
至此,用 Mac 配置本地 svn 服务器,并用 cornerston 连接 svn 服务器就完成了
使用 SVN 功能
svn import /Users/macbook/Desktop/petTravel/petTravel/IOS/TravelWithFavors svn://localhost/repository/petTravel --username=lxc --password=lxc -m “初始化导入”
指令的意思:将 / Users/macbook/Desktop/petTravel/petTravel/IOS/TravelWithFavors 中的所有内容,上传到服务器 repository 仓库的 petTravel 目录下,后面双引号中的” 初始化导入” 是注释
2. 从服务器端下载代码到客户端本地
svn checkout svn://localhost/repository --username=lxc --password=lxc /Users/macbook/Desktop/iOSPetTravel
将服务器中 repository 仓库的内容下载到 / Users/macbook/Desktop/iOSPetTravel 目录中
3. 提交更改过的代码到服务器
在步骤 2 中已经将服务器端的代码都下载到 / Users/macbook/Desktop/iOSPetTravel 目录中,现在修改下里面的一些代码,然后提交这些修改到服务器
1> 打开终端,先定位到 / Users/macbook/Desktop/iOSPetTravel 目录,输入:cd /Users/macbook/Desktop/iOSPetTravel
2> 输入提交指令:
svn commit -m “修改了main.m文件”
这个指令会将 / Users/macbook/Desktop/iOSPetTravel 下的所有修改都同步到服务器端,假如这次我只修改了 main. 文件
这个应该是最简单的指令了,在终端中定位到客户端代码目录后,比如上面的 / Users/macbook/Desktop/iOSPetTravel 目录,然后再输入指令:
svn update