教你搭建一套自己的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操作留給新人練手吧!》
相關文章
- 教你搭建你自己的Git伺服器Git伺服器
- 教你如何搭建自己的直播伺服器-簡易伺服器
- 搭建SVN伺服器伺服器
- 教你如何搭建自己的圖床圖床
- 教你用NAS搭建屬於自己的郵件伺服器伺服器
- svn伺服器搭建與使用伺服器
- Mac下搭建svn伺服器Mac伺服器
- Ubuntu環境搭建svn伺服器Ubuntu伺服器
- Centos6.5搭建svn伺服器CentOS伺服器
- linux(centos)搭建SVN伺服器LinuxCentOS伺服器
- 搭建自己的 Git 伺服器Git伺服器
- 搭建自己的Anki伺服器伺服器
- 搭建自己的Nuget伺服器伺服器
- 手把手教你搭建自己的Angular元件庫Angular元件
- Windows 10搭建獨立SVN伺服器Windows伺服器
- 用樹莓派搭建svn伺服器樹莓派伺服器
- 終於能用 Docker 搭建一套自己的環境了(dnmp)Docker
- 手把手教你搭建自己的Angular元件庫 - DevUIAngular元件devUI
- 「CodeFever保姆級教程」手把手教你搭建自己的程式碼託管伺服器伺服器
- SVN原始碼伺服器搭建-詳細教程原始碼伺服器
- Centos搭建SVN伺服器三步曲CentOS伺服器
- 利用公司SVN伺服器使用CocoaPods管理自己的私有庫伺服器
- 自己搭建anki同步伺服器伺服器
- 關於SVN伺服器的環境搭建及使用(轉)伺服器
- 手把手教你搭建自己的深度學習機器深度學習
- 在Mac上搭建自己的伺服器——NginxMac伺服器Nginx
- 用自己的伺服器搭建HEXO部落格伺服器Hexo
- 如何搭建你自己的 Git 伺服器呢?Git伺服器
- 如何搭建自己的pypi私有源伺服器伺服器
- 基於 CentOS 7 搭建支援 HTTP 協議的 SVN 伺服器CentOSHTTP協議伺服器
- 手把手教你搭建自己的Raneto知識庫(二)
- centos7下svn伺服器搭建並配置httpCentOS伺服器HTTP
- 教你玩轉Git-伺服器搭建Git伺服器
- 手動搭建自己的nuget伺服器及使用伺服器
- 微信小程式——搭建自己的Https伺服器微信小程式HTTP伺服器
- 如何搭建一個自己的音樂伺服器伺服器
- 如何搭建一套自己的蜜罐系統來收集惡意軟體樣本
- 只需9步教你搭建自己的個人部落格 (Hexo+Github)HexoGithub