教學視頻連接:https://edu.aliyun.com/course/83?spm=5176.10731334.0.0.778e6580zC0Ri0服務器
在實際的項目開發之中必定不可能只有一我的完成項目【微型項目除外】,必定是多人開發進行的,若是是多人開發,就必定有可能形成修改的衝突。最初的版本控制工具是CVS【Linux下發展起來後移植到Windows下】,可是後來在CVS進行項目管理的過程之中會產生大量的歷史無用文件,因此如今的開發在CVS以後都開始使用SVN了,也被不少公司來使用。使用版本控制工具能夠有效的針對於你的項目中的代碼進行管理,以及衝突的解決。網絡
可是不得不說SVN也有本身的侷限性的,若是在一個項目團隊之中開發,在SVN裏面所保存的項目代碼,【只可以被本地所管理】。並且SVN使用了客戶端服務器模式,也就是說若是須要使用SVN必定要搭建有服務器,然後要單獨配置客戶端。也就是說CVS、SVN如脫離網絡,那麼就沒法進行版本控制,因此如今最好用的是Git【Github推薦使用的工具】。eclipse
圖1 SVN服務器與開發者的關係圖svn
若是要想搭建SVN服務器端【最好將各類殺毒軟件卸載】,必需要有單獨的服務器端安裝軟件。SVN軟件安裝完成,可是須要對其進行配置纔可使用。工具
①須要準備出一個工做目錄,假設:【e:\mysvnpro】爲整個項目的工做目錄;學習
②此時的【e:\mysvnpro】目錄只是一個單獨的空目錄,並非一個svn承認的目錄,因此須要初始化此工做目錄,spa
svnadmin create e:\mysvnpro
初始化以後會自動在此目錄之中保存一些列的配置文件。插件
③修改【e:\mysvnpro\conf】目錄中的內容,全部相關配置都在此目錄裏面;命令行
svnserve.conf【服務器總體配置文件】、authz【受權、認證】、passwd【用戶名與密碼】、hooks-env.tmpl【鉤子腳本環境配置文】版本控制
圖2 svn配置文件目錄conf中內容
I、編輯【svnserve.conf】文件:
anon-access = read auth-access = write password-db = passwd authz-db = authz realm = My First Repository
II、編輯【passwd】文件設置可使用的用戶信息:
rdrc_2017202120089 = Mufasa
III、編輯【authz】文件設置權限:
1 [groups] 2 # harry_and_sally = harry,sally 3 # harry_sally_and_joe = harry,sally,&joe 4 5 [/] 6 rdrc_2017202120089=rw 7 8 # [/foo/bar] 9 # harry = rw 10 # &joe = r 11 rdrc_2017202120089=rw 12 * = 13 14 # [repository:/baz/fuz] 15 # @harry_and_sally = rw 16 * = r
以上配置完成能夠直接使用rdrc_2017202120089用戶就能夠進行服務器的鏈接控制了。
④啓動SVN服務:
svnserve -d -r e:\mysvnpro
啓動以後命令行窗口不要關閉。???
因爲之後的大部分的項目都在Eclipse中完成,因此將直接在eclipse裏面實現客戶端的配置處理操做。若是要想在Eclipse裏面使用客戶端操做的工具,那麼必需要保證有相應的插件工具完成。
①若是從標準的安裝方式應該選擇軟件更新模式:
·【Help】→【Install New Software】→【add】加入SVN插件,可是應該中國的【牆】致使不必定能夠成功
圖3 Eclipse下的插件標準安裝流程
圖4 加載插件
②直接將插件包覆蓋Eclipse插件包中的文件;
SVN服務器和客戶端都已經配置完成了,那麼下面就須要進行項目的發佈處理。在SVN的開發之中,必須有一個項目的發佈者 ,以後纔有項目的開發者。
①要保證建立一個你須要發佈的項目;
②在項目上選擇鼠標右鍵,然後選擇共享項目;
圖5 項目共享
③選擇要共享的服務器類型,本次使用的是SVN【免費】;
④要求輸入SVN路徑;
·須要你的ip地址支持【ipconfig】:192.168.0.32
·SVN的鏈接地址變爲:svn://192.168.0.32
圖6 成功初發布項目
項目發佈完成並不意味着你的代碼已經提交給服務器了。
圖7 只提交本身修改的文件【注意註釋】
若是代碼被正確提交則顯示以下:
圖8 正確提交顯示
可是若是要是有其餘開發者,則須要服務器端取得這個項目代碼。而對於開發者而言,則須要經過SVN服務器取得項目的初期代碼。打開一個新的Eclipse【工做區不一樣】,隨後進行導入的處理操做。
⑤【Flie】→【Import】→【SVN】→【】
因爲是第一次鏈接SVN服務器(並且也是新的工做區),因此咱們須要本身輸入SVN的地址:svn://192.168.0.32,到此全部的開發者均可以檢出SVN服務器上的項目信息。
⑥更新版本庫;先選擇【更新】→【提交】
既然是多人開發,那麼就有可能兩我的同時修改了一個文件的內容,那麼此時若是都進行了提交,就有可能產生衝突。
①若是如今在你須要修改某些代碼以前,請最好作出一個【更新】處理;
②若是真的多人修改了同一個文件,而且同時提交,那麼必定會出現錯誤
·第二個開發者修改了代碼而且提交到了服務器端;
·此時第一個開發者也準備提交代碼,那麼必定會有衝突產生,而且會在代碼中標記衝突產生位置。
·那麼應該由最後一個開發者手工修改衝突文件;可是修改完成以後你仍是沒法提交,由於須要作一個【解決衝突】的標記-【標記爲解決】
這些工具就是一個配置的問題,並且你還必須會配置,工做之中都用這樣的管理軟件。可是Git更加好用!!!