文章轉至個人我的博客: 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
複製代碼