版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、SVN簡介:為什么要使用SVN?程序員在編寫程序的過程中,每個程序員都會生成很多不同的版本,這就需要程序員有效的管理代碼,在需要的時候可以迅速,準確取出相應的版本。Subversion是什么?它是一個自由/開源的版本控制系統,一組文件存放在中心版本庫,記錄每一次文件和目錄的修改,Subversion允許把數據恢復到早期版本,或是檢查數據修改的歷史,Subversion可以通過網絡訪問它的版本庫,從而使用戶在不同的電腦上進行操作。一、SVN服務器搭建和使用1首先來下載和搭建SVN服務器,下載地址如下:,進入網址后,滾動到瀏覽器最底部看到如下截圖:Windows匚創(chuàng)戚Npt(supportedjn
2、dcertifiedbyCollabMet:requiresregistfatiorijWkSvM(32-and64-bitclientMSI;maintainedby配rtHuRmrt,Sh扒口合汕口ViHumWmclientandserver;supportedandmainta:nedbyVisualSVN)X沁勲:32-and64-bitdientandserver;supportedandcertifiedby.Ndisc-3)(32-bitlientPserverandbindings,MSIandZIPs;mmintainedbyDavidDan)個人認為最好用VisualSVN
3、server服務端和TortoiseSVN客戶端搭配使用點開上面的VisualSVN連接,下載VisualSVNserver,下載完成后雙擊安裝,如下圖:點擊Next下一步,如下:然后再點擊Next項,下一步,如下:jpegu04EbwLI_UJPAof5JOU1(P&電UQ-L16_S即&Japllfl毋AXJVsetpn&-mg足ppm也pA0d-SWEa$uapuemswcoflao苗駕sqj.UOQipg*_包粧1品d3-nuEEOUp曇EJ3dPUEUBELP4OU3七sdnobl一希辰EE嵋rpp.也flOJJG妙4efe帯las一euopuniMLL?M陽啞4aJsaq=0昱ns
4、卷cip近m曇侖匸聘noA$p幽匚noAco6u-PLIad址p?BAseliaAm菽osuoq巧wo走豈叩心Ju氏C5sP棗匚別囂置蚩pnoA歲器匡埠4。&曙血上T4電靛心韜譽sconlp*議亡左HAS-enslA【4XON】曲啞Location淞ssVisua-SVNServerAqw皿Reposirorys淞譴流眉訐皿劃.serverportssMIT至口、Usesecureconnection兇11|*知召濟inraNexLffiTIw、咎T-Sufaa:nbvlavUpdatriFrovadvF-rrdbdiuhJ*VcrirDiiS.7.4點擊【Finish】即可完成安裝。安裝完成
5、后,啟動VisualSVNServerManager,如圖:支蹴)la住SS&-具鉅fViujISVN5刊咤f歹蘇fWlilflrie*二I呱昨jSpupiViEualSVNServerLocal)如畤|冋c0TrfC*13VisitJAlwnSERVERUteiBjajffleEaOteii|StandixlEditai右osng旺巨曲怕仃$Slaws$ewi*陽rumnlag;LpggmgEnrnrkgiin-gimenablediAuesslogangi5血salHHlOparationalloggingladiaabledOpenEvsntVl&weirCQiUgHJiT?iQging
6、”AumemicauonTherta.re&usersand0CrisishewuserCreasewwgrgupCaifigi-jr&untcaiienoplions.Repostcries口1310艸常諂朗曲Cf笙al自tH-wifipdSiteff.ImportfspasRepository:進入下一步,如下圖:點擊【Finish】即可完成基本創(chuàng)建。2.需要建立用戶和組,并且需要分配權限。1.在VisualSVNServerManager窗口的左側右鍵單擊用戶組,選擇CreateUser或者新建-User,如圖:曇出列義心理助(H)Vi$y1$VNSrvr(LOC$0舀QReposito
7、Hes79myReposIloriesnUsers口Groul。皿User-NameUser.填寫Username和password后,點擊ok按鈕后,進入如下圖:點擊上面的【Add】按鈕后,如下圖增加Iongen0707到用戶中(如果有多個用戶,操作一樣)。2.然后我們建立用戶組,在VisualSVNServerManager窗口的左側右鍵單擊用戶組,選擇CreateGroup或者新建-Group,如圖:QVijualSVNServer(Lx/I)GroupsJ審Repositories與myRepoitorieSiOUsersNameACreate-Grzp新建Group.1SW)導31列
8、烹L).報助H)點擊【Group】按鈕后,進入如下圖:在彈出窗口中填寫Groupname為Developers,然后點Add按鈕,在彈出的窗口中選擇Developer,加入到這個組,然后點Ok.接下來我們需要給用戶組設置權限,在MyRepository上單擊右鍵,選擇屬性,如圖:ViscjalSVNServer(Locat)ImyRepasHories(http:丿護Repositories|齢JnoyRepositor_|UsersI-1GroupsCopyUfBrowseU.toClipboardProperties.理N)卜謂任奚M卜在彈出的對話框中,選擇Security選項卡,點擊Ad
9、d按鈕,選中Iongen0707,然后添加進來,權限設置為Read/Write,如下圖:點擊【確定】按鈕即可。二、客戶端SVN安裝1首先我們需要下載”svn小烏龜后,進行安裝。胡(V)分須依卸)輻陽)Ctrl+ZL共拿的pflSVNCheckout.,.好TortoiseSVN翳說明snv已經安裝成功了!2:checkout項目文件。新建或者進入目錄下(比如qianduan1),右鍵-SvnCheckout-其中URL我可以在SVN服務器獲取到,我在myRepositories下右鍵新建文件名稱FoldejmyRepositories(https:/iE73-S-PC/&vn/myRe匸Cop
10、yURLtOClipboardBrowsePrOperti.-空q1口UsersGroupsQVisudlSVNServer(Locl)w爭RepositoriesJ$myRahcrkcrinrqianduan文件被建立,然后比如我這樣右鍵-copy下qianduan(https:/VisualSVNServer(Local)名稱選擇SVN檢出,如下圖所示Prograqiandu.qianduR.uby2SublimTartoisWWWHTM開I日r扌產品康i、test共拿(H)童一SVNCheckout.復制創(chuàng)建快期式屬性(R)hvkJ3ibtruutE還原息前的蚯本WiriRAR再點擊ok
11、按鈕后,如下圖:在彈出的對話框中輸入用戶名和密碼,驗證成功后,項目文件開始從遠程服務器下載到本地工作目錄中。點擊ok按鈕后,即可獲取完成,如下圖所示:2.增加(Add)在test項目文件下,新建一個b.txt文件,提交到版本庫的方法如下2種:先提到變更列表中,再commit到配置庫中,選擇新增文件,右鍵SVN菜單執(zhí)行“Add操作提交到變更列表中,然后右鍵SVN菜單執(zhí)行SVNCommit”提交到版本庫中。不提交到變更列表中,而是直接commit配置庫中,選擇該文件,右鍵svn菜單執(zhí)行”SVNCommit”操作。3刪除(Delete)如果被刪除的文件還未入版本庫,則可以直接使用操作系統的刪除操作刪
12、除該文件。如果被刪除的文件已入版本庫,則刪除的方法如下:1.選擇被刪除文件,右鍵svn菜單執(zhí)行”delete”操作,然后選擇被刪除文件的父目錄,右鍵svn菜單執(zhí)行”SVNCommit”.使用操作系統的刪除操作刪除該文件,然后選擇被刪除文件的父目錄,右鍵svn菜單執(zhí)行”SVNCommit”,在變更列表中選擇被刪除的文件。如下圖:4改名(Rename)修改文件名,選中需要重命名的文件或文件夾,然后右鍵“TortoiseSVN占Rename,在彈出的對話框中輸入新名稱,點擊”ok”按鈕,并將修改文件名后的文件或文件夾通過“SVNCommit提交到SVN服務器上。5SVN還原(SVNRevert)右擊
13、想要回退的文件或者文件夾,在TortoiseSVN彈出菜單中選擇”Updatetoreversion.”然后會彈出一個窗口,如下:比如說我們要回退到第10個版本只需要在Revision中填寫相應的版本號,然后點擊ok即可。6檢查更新(Checkformodifications)此功能可以顯示你所做的修改有哪些還沒有提交的,此功能不光能看到對文件的修改變化,所有的變化都能看到,包括增加文件或者目錄,刪除文件或者目錄,移動文件或者目錄等,如果你點擊了檢查版本庫,那你還可以看到版本庫里的改動,既別人提交了哪些文件的改動,你還沒更新到本地,如下:7.SVN更新(SVNUpdate)更新本地代碼與SVN
14、服務器上最新的版本一致,只要在需要更新的文件夾上點擊右鍵或者在文件下空白處點擊右鍵,選擇”SVNUpdate”(獲取指定版本中的內容,點擊右鍵執(zhí)行SVN菜單中的“Updatetoreversion),就可以了。71如何解決沖突文件對于每個沖突的文件Subversion在你的目錄下放置了三個文件:如下:2014/9/119311XT文件_,l.txt.mine2014/9/119:31MINE袁件_.l+txt,r42014/9/11931R4文件一l+txt.r52D14/9/119:31R5文件.為什么會產生沖突代碼呢?原因很簡單就是因為不同的人,同時修改了同一個文件的同一個地方,這時候,他
15、提交了,我沒有提交,我就提交不了,這個時候我們要進行先更新,然后在進行提交即可,那如果產生沖突,會生成如上3個文件。解決方案如下:首先我們可以看下1.txt代碼如下:vvvvvvv.mineaaaasdf11222333dderderderb.r5然后我去掉多余的代碼,1.txt變成這樣aaaasdf11222333dderderder進行提交,還是提交不了,如下所示:為什么?因為沖突會產生上面的三個文件,有上面3個文件存在肯定提交不了這三個文件代碼及解釋如下:1.I.txt.mine是沖突前自己的文件??梢钥聪聝热萑缦?aaaasdf11222333dderderder1.txt.r4是沖突
16、前本地的版本文件內容如下:aaaasdf112223331.txt.r5是別人趕在你之前提交的版本內容如下:b其中,vvvvvvvv.mine=之間的代碼是你自己的,而=.r5是別人與你沖突的代碼部分這樣就不難理解為什么會產生沖突這種奇怪的東西了,因為你們修改的同一塊代碼,當然會產生沖突。解決方案如下:1.假如我現在的1.txt中的沖突內容如下:vvvvvvv.mine666666666666660000066666666666aaaaaaaaaa666.r16前面說過vvvvvvvmine之間的代碼是我未產生沖突之前修改的代碼,=r16這中間的代碼是別人與我沖突代碼的部分,從上面的代碼可以看
17、到aaaaaaaaa是我同事新增的,00000是我后增加的。使用revert(回滾)操作,該操作表示用戶放棄自己的更新代碼,然后直接提交,這個時候你的代碼就會使服務器上最新的代碼,即A用戶提交的新代碼,你的代碼不會被提交,如下所示:l.tx*旨血gglAx費3.tx%4txJJJT(O)超用SublimefextFI開濕畫Ptokld荒單EditwithNotepad4-+AVGShredder打開方或(H)Updatetorevision.Rename.,DeleteGetlock.Braneh/tag,.SwitchSVNUpdateSVNCommit.Blame.Unversionand
18、addtoignorelist怪用珀0題占用變用曲険J曲段鎮(zhèn)用360進行木馬云直殺CreatepatchyPropertiesSettingsHE【pAboutTortoiseSVN點擊ok按鈕后可以看到其他三個文件都自動刪掉了,1.txt代碼變成如下代碼:66666666666aaaaaaaaaa666也就是a用戶提交的代碼,我自己更新的代碼需要自己動手復制進去即可提交commit。1.假如我現在3.txt產生沖突代碼如下:vvvvvvv.mine333333338888888888888=3333cccccccccc3333.r16通過第一點我們知道,3333333388888888888
19、88這個內容是我修改后,未產生沖突之前的內容,3333cccccccccc3333這個代碼是A用戶提交的代碼,從上面得知A用戶新增內容是ccccccc,而我新增的內容是8888888。那么第二種解決方法如下:選擇文件-右鍵Editconficts:這種方法需要沖突雙方經過協商之后將代碼更改統一之后再提交。不僅解決了沖突而且還保證了代碼是正確的,因為只有一方的代碼被提交.如上圖所示,紅色的部分是沖突代碼:theirs表示當前服務器端最新的代碼,Mine表示自己修改后的代碼,Merged表示合并后的代碼。點擊紅色后右鍵選擇:usethistextblock就可以將該部分代碼作為合并后的代碼接下來再
20、說說由于沖突導致重要代碼被覆蓋的情況。沖突發(fā)生時如果采取的措施不對可能會導致部分代碼丟失,如果想要還原之前的代碼也很容易。選擇文件-右鍵選擇showlog在這里面你可以看見之前提交的所有版本,找到你想要恢復的版本右鍵選擇reverttothisversion就可以恢復了.SVN提交(SVNCommit)叵1Caret!Svn的提交是將在工作空間做的修改進行提交,包括文件內容的修改,文件或目錄的添加,刪除,命名,移動等操作。如下圖所示:8顯示日志(Showlog)通過此功能可以查到誰,什么時候,對那個目錄下的那些文件進行了那些操作,如下圖:EiqiariidLianljCommitTortofs
21、eSVNKeer?lodesSlhowksgCommitto:httjs/ZeS-S-pc/wn/mvRepflsitoriw/qianduan/jsPfiessage:Recentrressages1PashE-ttenaonStatusPrgsWMtusLockrJl,a*a.-r/txta4dedl宜versionedftw1怒唧1ffes怖tailShowexternifltfrcmi住ffeEretrotorsChangesnwde(dodWe-tkkonfilefwdiffj:Check:AltHomeVerskined川曲E)eletf.blodifidFiiesectcrres
22、JE:qianduarljsindeJtj5-LogMessages-TortoieSVNI.1=1_旦yM&sag&sfPaths,Author5TReviacnsBug4DsrDate,Date201/9/11亍To:2014/9/11UsvisionActionsAuthorDateMessage12longenO7OJ201491101S132:1Oquanduan29$20149月11曰14:23:48ii*1榔lpPathActionCopyfrompathRevision/qianduanjs/index.jsMaHcKfied9.版本庫瀏覽(Repobrowser)此功能是用來
23、瀏覽需要查看的資料庫,在本地文件夾下點擊右鍵,選擇TortoiseSVN占Repo-browser,在彈出的對話框中輸入資料庫地址,再輸入用戶名和密碼,就能查看到你需要查看到版本庫的內容,在這你還能看到那些文件被誰鎖定了,如下圖:工!Revision:三:創(chuàng)建分支合并相互操作項目中為何要創(chuàng)建分支,及合并?比如我現在項目所有的文件放在主干上(trunk)中,由于需求的變更,需要增加新的需求,但是我們主干上還要繼續(xù)往下開發(fā),在此我們可以新建一個分支,來做增加新的需求那一塊,主干上繼續(xù)開發(fā),等分支上代碼沒有問題的時候,再合并到主干上來。創(chuàng)建分支的最大的目的就是跟主線進行并行開發(fā)時候不影響主線的開發(fā)。
24、如何操作?假如我本地新建一個文件夾test下有2個文件夾trunk(存放主干上的代碼)和branch(存放分支上的代碼),如下所示:皂稱第彌工貝B幫聞凹包含到奉中丟享劉錄換建交比夾倍改日期逢丈小branch2014/5/12詢膽文件夾2014/3-/131002丈CopyURLtoClipboard即可。其中qianduan3項目有如下文件,如下圖所示:最后點擊上面的checkout按鈕后,就可以在主干上把代碼從遠程服務器上獲取到,如下所示:計毘虬卜媚磁產(旬testtrynk卜副E)查看M二BE包含到庫中其享劃錄新建剣疾4TfESLIXfr2014/9/1210:文朕專ES52014/9/1
25、21住OE文際2014/9/1210文件衰費5TC2014/9/121OM2a2014121OXTXTlt1K6二:新建分支從trunk(主干上)創(chuàng)建分支(branch)步驟如下:1.右鍵trunk-branch/Tag如下圖:共享卻卜ITSVNUpdate重用彳也強力曲除滬GVTJCcmiYiit.To-rtoiseSVN卜在彈出的對話框如下圖:TopathrdE:testtrurk-Copy(Branch/Tag)-TortoiEeSVN/newBrandi指明新分支的路徑LogmessageEl宮時呂匚已口CreatecopyintherepositorytromiHEADrevisio
26、niniherepositoryoSpecificrevisionin吃po呂itniy14ShawLagWorkingcopyicviBicnrorineseexlcindis.Check:AllPathFlRevisionFiKedatrevNu包咒tern:ilsijijtlAj,點擊ol嵌鈕后CreateinternnediatefoldersSwitdiworkingtopyto皿卅brandi/tagOKCancelHelp點擊ok按鈕后,就可以在VisualSVNServal服務器上新增newBranch,是從如上服務器qianduan3上的文件拷貝一份的,如下所示:下所示:山u
27、1newBrahth冷二1JS5IT2.txt現在我們可以再來看看本地branch文件夾了,我現在直接進入branch文件下,右鍵-Chenckout下,就可以把newBranch下的所有文件提取出來了,如點擊ok按鈕就可以把文件提取出來了,如下圖所示:20W/9/1210(36-C5S20M/9/1210t382011/9/1210138文丹夾腫.src2014/9/12L03S文彳挨a_2014/9/121038TXT文祥分支目前建立在svn的服務器端,本地并沒有更新,對本地branch文件夾右鍵-update即可,就可以更新到分支代碼,如下所示:四:合并分支到主干上比如我現在對branc
28、h分支上新增3.txt文件,然后提交上去,如下所示:我現在想把分支上的代碼3.txt合并到主干上trunk,現在要怎么合并呢?步驟如下:1.回到我們剛剛的主干(trunk)文件夾下,鼠標右鍵該文件夾-TortoiseSVN-Merge如下圖所示:皿陽門210:06文牧在新窗中打開舊馳劇Pokki辭用Sub-lim&Text打開AVGDimkSpaceExplorerAVGShredder會茹危行木馬云童殺SVN匚ommit.Showlog餌TortoiseSVN共辜文祥夾同步還涼以前的版本凹曲用百度殺毒掃搭5=桃Repo-browserCheckformodificationsRevision
29、graph通過Q曲送i度的手機WinRAR發(fā)送卜剪切E復制包含到庫中創(chuàng)建快捷知;Resolve.Updatet口revisian.Revert.Cle-anup.Getlock.Rel&S5&lock.Branch/tag.Switch.Merge.在彈出的窗,如下圖所示:!ZIRevi5ion口A1orkiRgCopyHEAIIEevisirTLRevieion屜秒謔下的山I.ttp=/衛(wèi)丁歩于衛(wèi)町它皿/町帀:薊張itiifi2訝口抽甌迥口1|接著點擊【Next】下一步,如下圖所示:.TMergehttps:/e738-jic/svn/myRepositories/qi=tldu:rL3To
30、:(.erLlUKLandrevisioilofther:=LTLgetomerge.JShowLog主干上的u汗QHEAIlLevisioneemergeSelecttheUELeforthe:treemergeShiZiAldgHeigetyr已選擇第二個,第二個功能更全面點MergetypeSelectthetyp已of(Ti叱廠直已ThisipthuiicoversthecasewhenyouiYanttomerg:已twohhen-lb匕:遼Lheism-toy??趓ftorkingcopy.Ne:K10:06交1換弓2姒兀I必H10;06TXT龍眸1KB3.txt2014/5/12
31、11:01TXT文爍1KBsion就可以看到主干trunk上多加了一個3.txt,就是從分支上合并過來的。五:合并主干到分支。如果主干上有一些更新,比如說jar包更新等等,那么這些要更新到分支上去,如何操作呢?比如我現在在主干上新建一個4.txt文件,比如如下:計算機卜木地葩規(guī)(E:)卜tflstIrunk諌曲TMffi爵動固注棒中共享-刻錄祭遂0韓)n,svn2014/9/12118如快2CL4/9A210:06文彳躱2014/9/121006討耦2014/9/121D;O6劉糕2014/9/1211:08TXT丈件1B1KBl右鍵TortoiseSVN-Merge如下圖所示:在彈出新窗后,如下圖所示-二II12_lAorkiTLgCopyE:/:irich點0M.trgetwo_differerLttrees接著點擊干T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版工程清包合同:工程設計變更與施工方案調整
- 2024某企業(yè)與咨詢公司之間的管理咨詢服務合同
- 2025年度香菇食品產品線擴展與市場拓展合同3篇
- 二零二五版智慧交通系統開發(fā)與技術支持協議2篇
- 二零二五版二手房買賣合同公證與節(jié)能環(huán)保改造服務協議2篇
- 2025年度跨國企業(yè)集團財務合并報表編制合同3篇
- 2024年銷售代理協議(意向)3篇
- 個性化活動策劃方案協議2024規(guī)格版A版
- 2024版地暖安裝工程承包合同書
- 2024版企業(yè)業(yè)務外包人員協議模板版B版
- 前列腺增生藥物治療
- 人工智能知識圖譜(歸納導圖)
- 滴滴補貼方案
- 民宿建筑設計方案
- 干部基本信息審核認定表
- 2023年11月外交學院(中國外交培訓學院)2024年度公開招聘24名工作人員筆試歷年高頻考點-難、易錯點薈萃附答案帶詳解
- 春節(jié)行車安全常識普及
- 電機維護保養(yǎng)專題培訓課件
- 汽車租賃行業(yè)利潤分析
- 春節(jié)拜年的由來習俗來歷故事
- 2021火災高危單位消防安全評估導則
評論
0/150
提交評論