教你搭建一套自己的SVN服务器
→****在這里恭祝大家1024程序員節日快樂!
服務端安裝及配置
安裝SVN服務端
創建svn服務工程總目錄
-
創建一個根目錄,這個根目錄用來存儲所有的svn的工廠信息(每一個工廠等于一個項目)
-
啟動svn: svnserver -d -r F:/SVN/ROOT
??對于wndows而言不支持后臺模式,要添加到服務里,由手動改為自動!
??解釋:我們再打開一個cmd敲入netstat -an可以看到出現了端口為3690的服務,這就是svn的
端口,但是當我們關閉命令啟動窗口的時候,3690端口服務又不不見了。
?所以要想保持服務不被關閉,我們最好加入到window啟動服務里來進行啟動,linux支持后臺啟動:
sc create SVNserver binPath= "F:\SVN\Subversion\bin\svnserve --service -r F:/SVN/ROOT"
異常問題- [sc] openSCManager 失敗 5 拒絕 訪問拒絕::
??安裝svnserver服務win下安裝subversion 的svnserver作為服務時遇到了這個問題。
解決方案:
??建立一個新文件svnSetup.bat.輸入并保存:
sc create SVNserver binPath= "F:\SVN\Subversion\bin\svnserve --service -r F:/SVN/ROOT"
displayname= "Subversion" depend= tcpip start= auto
sc start svnserve
右鍵單擊svnSetup.bat,選擇以“管理員方式運行”即可
總結:主要原因仍是沒有權限,在命令行時執行這個操作總是提示沒有權限,而以管理員方式運行則避免了這個問題,相當迂回了一下吧。
客戶端安裝及開發流程
配置管理人員
創建工廠
svnadmin create F:\SVN\ROOT\student
在windows也可可以:
配置權限
創建用戶
配置權限
PM創建并提交項目
- 項目經理創建項目并提交到svn工廠中(一般是客戶端TortoiseSVN,而不是命令行)
-
- 安裝客戶端或者eclipse插件,安裝成功后右鍵會出現兩個svn菜單(有checkout)
-
- 點擊student文件夾
填寫項目地址,點擊提交
我們發現認證失敗
因為匿名用戶是禁止訪問的,我們可以修改F:\SVN\ROOT\student\conf下的svnserve.conf文件,如圖
修改Anonymous權限為可讀也可寫。當然匿名用戶肯定不可讓他訪問,這里為了方便演示。注意空格。以上就完成項目經理的導入。
- 點擊student文件夾
開發人員checkout檢出項目
我們新建開發人員文件夾來模仿開發端如下:
點擊OK會發現開發人員01下已經有了所有的項目信息。
開發人員02也一樣。Commit與update很簡單就不說了。
沖突問題
01修改了jsp,添加了第三行,然后提交到svn
02修改了jsp,添加了第二行,也提交,此時
02提交時,提示已經過時,要先更新。
點擊OK,更新
提示沖突。并且發現多了三個文件
打開看下:
第一個index.jsp.mine: 這是我的(當前提交人02)
Index.jsp.r2:這是我的(當前提交人02)原始版本
Index.jsp.r3:我們發現這個和01的一樣,其實這就是01的。
最后我們打開index.jsp,帶有感嘆號的沖突文件。
上邊清楚的爆出我和r3的沖突,即02和01我們修改沖突:然后刪除掉多出的三個文件,然后發現index.jsp變成了紅色的圖標。
提交即可
然后用01去更新一下看。
01也變成了剛剛02修改合并后的
總結
- 沖突產生的條件:兩個或多個開發人員共同修改了一個文件之后并且提交會產生沖突。
- 如何避免沖突:
1 修改代碼之前先進行更新。(不能保證不沖突,但是前提)
2 項目經理分配任務的時候需要獨立考慮,為不同的人分配不同的模塊,這樣盡可能避免沖突。
Showlog
查看日志:這是我們對這個文件的修改記錄。
誤刪文件后如何處理
問題:但01不小心刪除了index.jsp后,又不小心提交了。
但是02此時還有index.jsp,
當他執行update后發現index.jsp不見了。
可是這個index.jsp是有用的,02很生氣,01交代了是自己不小心做了刪除后提交的操作,導致02的文件丟失。幸好02是個有經驗的人,于是他做了一下操作,找回了index.jsp。
點擊showlog
選擇版本,OK。
02的index.jsp又回來了。但是當02進行update后發現index.jsp又不見了。于是他很郁悶。不得不重復上邊的步驟找了回來。他想我提交這個文件到版本庫不就OK了,于是想要提交
他驚奇的發現提交按鈕變成灰色了,無法提交。
不能更新,又不能提交,這怎么辦?
- 不要進行刪除后的提交操作。避免此種情況發生。
- 添加到忽略列表中。Svn不對index.jsp進行版本管理。
然后再-Add-Commit:
完畢
至此,如何搭建自己的svn服務器已經講解完畢!怎么樣,是不是挺好玩的!
歡迎有問題跟我一起交流~
個人公眾號-offer驛站:
其他優質文章:
《成就一億技術人,我在CSDN的這九年》
《計算機如何做減法?10個程序員9個不知道!!!》
《高級編程語言學習概論》
《互聯網三高架構之高并發和高性能的理解》
《《跟任何人都能聊得來》讀書筆記》
《這十年里的迷茫路口》
《一個碼農的那五年》
《搞技術的總要做點高逼格的事情,那些lowB操作留給新人練手吧!》
總結
以上是生活随笔為你收集整理的教你搭建一套自己的SVN服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Angular Reactive For
- 下一篇: SAP Spartacus user f