文章转至个人我的博客: https://cainluo.github.io/14785314208383.htmlhtml
在前一段时间, 没网的状况下写项目, 发现一件很蛋疼的事, 竟然不知道怎么版本管理了, 灵光一闪, 本身搭建个本地SVN服务器吧, 因而乎这文章就出来了git
** 最后:** ** 若是你有更好的建议或者对这篇文章有不满的地方, 请联系我, 我会参考大家的意见再进行修改, 联系我时, 请备注**`搭建Mac OS本地SVN服务器`**若是以为好的话, 但愿你们也能够打赏一下~嘻嘻~祝你们学习愉快~谢谢~**
首先咱们要建立一个SVN服务器存放夹, 这里个人地址是以下:github
sudo svnadmin create /Users/imac/Documents/svn/MyCode
复制代码
建立完以后, 就须要配置一下SVN, 我这里比较习惯使用Vim. 在我机子上的目录是以下:vim
sudo vim /Users/imac/Documents/svn/MyCode/conf/svnserve.conf
复制代码
输入完以后, 须要开放几个参数, 必定要把他们前面的**#号和空格**都删掉.服务器
- anon-access = none(默认为read, 修改改为none)
- auth-access = write
- password-db = passwd
- authz-db = authz
配置完svnserve.conf文件以后, 就继续来配置passwd文件:svn
sudo vim /Users/imac/Documents/svn/MyCode/conf/passwd
复制代码
这里咱们只须要添加一个用户名和密码就能够了, 毕竟就只有本身在用而已.学习
admin=123456
复制代码
配置完前面两个文件, 下面这个文件配置完就搞定了spa
sudo vim /Users/imac/Documents/svn/MyCode/conf/authz
复制代码
[groups]
admins=admin
[/]
@admins=rw
复制代码
配置了那么多, 最重要的重头戏来了, 就是启动咱们的SVN服务器.net
svnserve -d -r /Users/imac/svn/MyCode
复制代码
若是输入以后, 终端一点提示都没有, 那就表明SVN服务器已经启动成功了.3d
有启动, 固然也有关闭
sudo killall svnserve
复制代码
或者是打开活动监视器搜索以后在咔擦掉
SVN服务器弄好了, 如今就是要导入工程文件到服务器去了
svn import /Users/imac/Documents/AFNetworking svn://localhost/MyCode --username=admin --password=123456 -m "初始化导入"
复制代码
这里解释一下这条命令是啥意思:
- /Users/imac/Documents/AFNetworking这一段指的是须要导入的工程文件.
- svn://localhost/MyCode指的是把工程文件上传到MyCode这个目录下.
- --username=admin --password=123456指的是校验用户名和密码.
- **-m "初始化导入"**指的是提交的信息.
上传工程咱们已经知道了, 那下载工程咱们也来讲一说.
svn checkout svn://localhost/mycode --username=admin --password=123456 /Users/imac/Documents/code
复制代码
这里就不解释了和上面那条命令意思差很少.
二次提交是有一个前提的, 那就是你首先须要在SVN服务器上下载代码到本地, 而后再去修改这一份代码, 才可以二次提交. 首先咱们得去到工程目录:
cd /Users/imac/Documents/code
复制代码
而后再输入命令:
svn commit -m "修改部分代码"
复制代码
这样子就能够把**/Users/imac/Documents/code这个目录下全部修改过的代码都提交到服务器 这些都是基于终端操做的状况来讲的, 我这里推荐使用Cornerstone**, 更加的简单方便, 至于哪里有免费版, 大概能够去百度搜一搜, 一堆一堆的~~
若是你在导入工程时候出现E000013的错误, 以下:
svn: E000013: Can't open file '/Users/xxx/Documents/svn/XXX/db/txn-current-lock': Permission denied
复制代码
这个错误通常来讲就是你的svn文件夹权限没开放, 只要进入到你的SVN目录下, 输入下面的命令就能够解决这个问题了. 我这边的目录是**/Users/imac/Documents/svn/MyCode**
/*MyCode就是你建立SVN服务器的文件夹*/
sudo chown -R $(id -u):$(id -g) MyCode
chmod -R u+w MyCode
复制代码