日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

SVN配置使用

系統(tǒng) 2779 0

文檔規(guī)則

[本地工作區(qū)] :work copy ,本地工作副本;

[主項(xiàng)目]:引用共用模塊的新項(xiàng)目(工程)

最新版本(HEAD revision):版本庫(kù)里文件或目錄的最新版本

SA :SVN服務(wù)器的管理員

PRA :?jiǎn)蝹€(gè)項(xiàng)目庫(kù)的管理員,或者是項(xiàng)目負(fù)責(zé)人

User :普通工作人員

WC :work copy ,本地工作副本

1. 版本控制原則

SVN(或者其他版本控制軟件)只是一個(gè)版本控制的輔助工具,不可能把所有的問(wèn)題都自動(dòng)解決掉。尤其,對(duì)于沖突這個(gè)麻煩事兒,項(xiàng)目成員在項(xiàng)目進(jìn)程中要盡量通過(guò)優(yōu)化流程來(lái)解決,而不是將希望寄托于軟件工具來(lái)自動(dòng)解決一切問(wèn)題。

建議的開(kāi)發(fā)過(guò)程組織:

1. 隨行就市

項(xiàng)目剛開(kāi)始階段,單獨(dú)開(kāi)發(fā);項(xiàng)目穩(wěn)定階段,完整開(kāi)發(fā)。項(xiàng)目開(kāi)發(fā)初期,各個(gè)項(xiàng)目成員負(fù)責(zé)自己的文件夾(或者模塊),與SVN服務(wù)器間的更新、提交等操作只需要針對(duì)自己負(fù)責(zé)的文件夾(或者模塊)就行了,他人的文件夾(或者模塊)可以不必關(guān)心;項(xiàng)目穩(wěn)定階段,也就是每天的變更量很小了,所有項(xiàng)目成員與SVN服務(wù)器的更新、提交等操作需要針對(duì)項(xiàng)目的所有文件夾(或者模塊),各個(gè)項(xiàng)目成員在其本地編譯時(shí)本地工作區(qū)的全部項(xiàng)目程序(或者資料)均為最新的版本,保證項(xiàng)目作為整體能夠順利運(yùn)行。

2. 能躲就躲

盡量保證一份文件只有一個(gè)項(xiàng)目成員在編輯。舉例說(shuō)明:程序員A負(fù)責(zé)底層中文件 DBAccess.cs的編寫(xiě),如果程序員B的工作要求他為DBAccess.cs增加兩個(gè)方法,程序員B應(yīng)該通知程序員A來(lái)增加而不是自己增加;如果此時(shí)A非常繁忙需要B自己增加,就需要B先更新本地的DBAccess.cs,然后開(kāi)始修改,修改完成后立即提交并通知A更新本地的文件,通過(guò)縮短提交間隔來(lái)減少?zèng)_突。

2. 基于版本控制的開(kāi)發(fā)流程

svn

版本控制下的軟件開(kāi)發(fā)基本流程

注意:上述的流程中沒(méi)有考慮測(cè)試和審核的步驟。

3. 各階段中svn的使用方法介紹

3.1. 安裝后的常規(guī)設(shè)置

3.1.1. 中文界面的設(shè)置

將TortoiseSVN的操作語(yǔ)言設(shè)置為中文,控制文件夾使用“_SVN”以便支持Asp.net項(xiàng)目。

wps_clip_image-31195

3.1.2. 忽略文件

為防止在提交操作時(shí)將不必要的 文件上傳 到SVN服務(wù)器上,可將項(xiàng)目中不需要受SVN控制的文件和文件夾通過(guò)設(shè)置忽略選項(xiàng)的方式排除掉。常被忽略的文件有 _* obj *.db *.resharper* *.Load *.pdb *.bak。可以根據(jù)實(shí)際需要來(lái)修改忽略參數(shù), 每個(gè)需要忽略的文件(文件夾)名稱(chēng)之間用空格作分隔符,需要忽略的文件夾只要寫(xiě)文件夾名稱(chēng)就行,例如 obj,忽略obj文件夾及所包含文件;_*忽略所有_(下劃線)開(kāi)頭的文件夾及所包含文件。注意,這個(gè)設(shè)置僅對(duì)本機(jī)有效,而且對(duì)本機(jī)的所有項(xiàng)目的本地工作區(qū)有效,對(duì)其他項(xiàng)目組成員沒(méi)有影響。被忽略的文件仍可以通過(guò)“添加”命令使其受SVN控制。

操作界面如下圖,只需將忽略參數(shù)填寫(xiě)在“全局忽略模式”后的文本框中即可。

wps_clip_image-1630

3.1.3. 配置強(qiáng)制注釋

項(xiàng)目負(fù)責(zé)人通過(guò)設(shè)置項(xiàng)目的TortoiseSVN:logminisize設(shè)置為5,以便強(qiáng)制注釋。設(shè)置方法:在項(xiàng)目的本地工作區(qū)文件夾上點(diǎn)擊鼠標(biāo)右鍵選擇“屬性”,進(jìn)入 Subversion標(biāo)簽,選中TortoiseSVN: logminisize,確保復(fù)選框“遞歸應(yīng)用該屬性”選中,取值設(shè)為5,其意思是指提交的注釋最短長(zhǎng)度為五個(gè)字。注意,這個(gè)設(shè)置對(duì)其他項(xiàng)目成員的也有效,但是對(duì)別的SVN客戶(hù)端工具(如AnkhSVN)無(wú)效。如圖:

wps_clip_image-11884

3.2. 初始化版本庫(kù)

初始化版本庫(kù)有兩種常用的方式:

3.2.1. 直接“導(dǎo)入Import…”

對(duì)要執(zhí)行導(dǎo)入操作得項(xiàng)目文件夾進(jìn)行如下清理:

1. 把項(xiàng)目中不需要的文件刪除。(臨時(shí)文件、編譯器創(chuàng)建的文件,比如*.obj、二進(jìn)制文件等。)

2. 把文件夾和子文件夾中的所有文件整理一遍。雖然你可以在導(dǎo)入之后再來(lái)進(jìn)行重命名或刪除等操作,但是還是推薦你在導(dǎo)入之前把你的項(xiàng)目整理好。

在資源管理器(windows explorer)中選擇項(xiàng)目(本地硬盤(pán)上)的根文件夾,單擊鼠標(biāo)右鍵,選擇導(dǎo)入Import…命令,跳出一個(gè)對(duì)話框:

wps_clip_image-32364

在這個(gè)對(duì)話框中你需要填寫(xiě)你要將項(xiàng)目導(dǎo)入倉(cāng)庫(kù)的URL地址(svn必須小寫(xiě))。導(dǎo)入信息(Important Message)是用來(lái)記錄日志信息的。注意:與“忽略樣式exclude pattern”匹配的文件或文件夾不會(huì)被導(dǎo)入,除非選擇了“包含忽略的文件”選項(xiàng)。

按下“確定”按鈕后,TortoiseSVN就開(kāi)始把整個(gè)文件夾樹(shù)(包括所有文件)導(dǎo)入到倉(cāng)庫(kù)。用來(lái)做“導(dǎo)入Import”操作的這個(gè)文件夾的名字不會(huì)出現(xiàn)在倉(cāng)庫(kù)中,只有文件夾中的內(nèi)容會(huì)出現(xiàn)。注意:剛才用來(lái)做“導(dǎo)入Import”操作的這個(gè)文件夾并沒(méi)有處于版本控制下!要獲取一份處于版本控制之下的[本地工作區(qū)]副本,你需要對(duì)剛導(dǎo)入的版本做一次“檢出Checkout”操作。

3.2.2. “檢出Checkout”—>“提交Commit”

新建一個(gè)空文件夾作為[本地工作區(qū)]的存放文件夾(建議與項(xiàng)目同名),在文件夾上(或者文件夾里)單擊鼠標(biāo)右鍵后在命令菜單中選擇“檢出Checkout…”,出現(xiàn)操作窗口。注意:只能檢出Checkout到一個(gè)空文件夾。

wps_clip_image-25377

把本地硬盤(pán)上的項(xiàng)目文件夾中的內(nèi)容(不要復(fù)制項(xiàng)目的根文件夾)全部復(fù)制到[本地工作區(qū)]? 文件夾中,并對(duì)文件夾中進(jìn)行清理操作(同“導(dǎo)入Import”操作前的清理操作)。然后選擇[本地工作區(qū)]? 文件夾單擊鼠標(biāo)右鍵跳出菜單,選擇命令“提交Commit…”:

wps_clip_image-28504

提交對(duì)話框會(huì)顯示每一個(gè)有修改的文件,包括新增的,刪除的,還有沒(méi)有版本控制的。如果不想“提交Commit”某個(gè)有變更的文件,只需取消勾選那個(gè)文件即可。相反,如果要提交某個(gè)未受版本控制的文件,只需勾選它就可以然后“提交Commit”即可。

3.3. 日常開(kāi)發(fā)中的SVN操作

wps_clip_image-12897

3.

3.1.

3.2.

3.3.0. 版本號(hào)的解釋

SVN系統(tǒng)中的版本號(hào)準(zhǔn)確應(yīng)該叫做“修訂版本號(hào)”,每當(dāng)版本庫(kù)接受了一個(gè)提交Commit,文件系統(tǒng)進(jìn)入了一個(gè)新的狀態(tài),叫做一次修訂(revision),每一個(gè)修訂版本被賦予一個(gè)獨(dú)一無(wú)二的、遞增的自然數(shù),這個(gè)自然數(shù)就是修訂版本號(hào)。

受控項(xiàng)目中任何一個(gè)受控文件/文件夾進(jìn)行了修改提交Commit操作,項(xiàng)目的版本號(hào)就會(huì)提升一次,沒(méi)有進(jìn)行修改的文件/文件夾其版本號(hào)不會(huì)發(fā)生變化。受控項(xiàng)目每一個(gè)裝態(tài)都包含項(xiàng)目的所有文件/文件夾,引起該次版本號(hào)增加的即修改了的文件/文件夾保存新副本,沒(méi)有發(fā)生修改的文件/文件夾保存引用,因此項(xiàng)目中的文件/文件夾可能與項(xiàng)目的版本號(hào)不同。

3.3.1. 更新(Update)工作副本

wps_clip_image-11820

把他人做的修改融合到自己的本地副本當(dāng)中,這個(gè)把改動(dòng)從服務(wù)器拿到本地的過(guò)程就是“更新Update”。“更新Update”操作可以針對(duì)一個(gè)文件,或幾個(gè)被選擇的文件,或某個(gè)文件夾中的所有文件。選擇想要進(jìn)行“更新Update”操作的文件和(或)文件夾,單擊鼠標(biāo)右鍵,在菜單中選擇“更新Update”, 執(zhí)行窗口顯示正在“更新Update”的進(jìn)度。他人做的修改會(huì)合并到自己的文件中,而自己所做的修改會(huì)被保留。如果不能合并,將會(huì)出現(xiàn)沖突(紅色文字顯示),沖突的文件圖標(biāo)將出現(xiàn) wps_clip_image-14409 標(biāo)志。

命令 “更新至版本Update to Revision...” 可以使[本地工作區(qū)]更新到自己選擇的一個(gè)特定版本。

3.3.2. 解決沖突

選擇 wps_clip_image-31970 的文件,點(diǎn)擊鼠標(biāo)右鍵菜單中選擇“編輯沖突Edit Conflict”來(lái)打開(kāi)合并工具或沖突編輯器,做一些必要的修改,然后保存文件。然后選擇菜單中的“已解決的Resolved”命令執(zhí)行,接著提交commit修改到倉(cāng)庫(kù)。

注意:命令“已解決的Resolved”并沒(méi)有真正的解決沖突,它只不過(guò)是把“文件名稱(chēng).擴(kuò)展名.mine” 和 “文件名稱(chēng).擴(kuò)展名.r*”(r*中星號(hào)代表任意位數(shù)字,即版本號(hào))刪除,并允許你提交修改而已。因此,建議在有沖突發(fā)生時(shí)要先執(zhí)行“編輯沖突Edit Conflict” 再執(zhí)行“已解決的Resolved”;如果確信自己的修改是正確的,不需要保留他人的修改,可將文件名稱(chēng).擴(kuò)展名.mine去掉“.mine”后綴,并把“.r*”后綴的文件和“ wps_clip_image-13303 ”的文件刪除,然后正常“提交Commit”,版本庫(kù)中將保存自己的版本。

3.3.3. 提交修改到倉(cāng)庫(kù)

wps_clip_image-14086

強(qiáng)烈建議在提交之前,應(yīng)該確認(rèn)[本地工作區(qū)]? 是最新的。可以直接作一次“更新Update”操作,或者先“檢查更新Check for Modifications”看看在本地或在服務(wù)器上哪些文件修改過(guò)。如果沒(méi)有這樣的操作直接提交的話,很有可能出現(xiàn)沖突現(xiàn)象。“檢查更新Check for Modifications”操作后的結(jié)果界面如下:

wps_clip_image-20514

如果[本地工作區(qū)]? 是最新的,并且沒(méi)有沖突,就可以提交你的修改了。選中你想要提交的任意文件或文件夾,然后選擇在菜單中選擇“提交Commit…”在提交對(duì)話框中雙擊一個(gè)有修改的文件,可以啟動(dòng)外掛的比較工具來(lái)顯示修改細(xì)節(jié)。 在按下“確定OK”按鈕之后,會(huì)顯示提交的進(jìn)程情況。

3.3.4. 比較差異(Diff)

wps_clip_image-3171

[本地工作區(qū)]? 修改后,被修改的文件出現(xiàn) wps_clip_image-13712 標(biāo)志,選擇 “比較差異Diff” 命令,可以查看該文件與版本倉(cāng)庫(kù)中文件具體差異,選擇命令后出現(xiàn)對(duì)應(yīng)的差異察看窗口。

3.3.5. 加入(Add)新文件/新文件夾

wps_clip_image-554

想把在開(kāi)發(fā)過(guò)程中創(chuàng)建的新文件/文件夾加入到SVN控制之下,可以這樣做:選中文件/文件夾(在新文件/文件夾所在父文件夾點(diǎn)擊右鍵),然后在菜單中選擇“添加Add”命令。不需要受SVN控制的文件請(qǐng)取消鉤選。

wps_clip_image-24107

在把文件或文件夾加入到控制之下后,這些文件或文件夾就會(huì)顯示為一個(gè)Added覆蓋圖標(biāo) wps_clip_image-30255 的樣子,接下來(lái)必須對(duì)[本地工作區(qū)] 執(zhí)行提交commit操作,以便其他團(tuán)隊(duì)成員能夠看到這些文件或文件夾。

3.3.6. 刪除、重命名、移動(dòng)

選擇要?jiǎng)h除(或重命名)的文件/文件夾,點(diǎn)擊鼠標(biāo)右鍵選擇相應(yīng)命令:

wps_clip_image-5566

如果使用TortoiseSVN的“刪除Delete”操作刪除了一個(gè)文件/文件夾,文件就已經(jīng)從[本地工作區(qū)]中刪除了,而被“刪除Delete”的文件夾將顯示為 wps_clip_image-32049 覆蓋圖標(biāo)。要恢復(fù)被“刪除Delete”文件/文件夾,只需對(duì)他的上級(jí)文件夾進(jìn)行“SVN還原revert”操作即可。

如果要在[本地工作區(qū)]內(nèi)移動(dòng)文件,可以使用鼠標(biāo)來(lái)拖拽:

1. 選中要移動(dòng)的文件或文件夾。

2. 用鼠標(biāo)右鍵拖拽他們到[本地工作區(qū)]中一個(gè)新的文件夾。

3. 松開(kāi)鼠標(biāo)右鍵。

4. 在跳出的菜單中選擇相應(yīng)命令,如下圖:

wps_clip_image-15782

如果一個(gè)刪除操作不是使用TortoiseSVN的“刪除Delete”操作完成的,而是就像平常刪除文件那樣刪除的。提交時(shí),對(duì)話框窗口還是會(huì)顯示這些刪除的文件,并提示自己把它們從版本控制下刪除。所以如果忘記使用TortoiseSVN“刪除Delete”操作來(lái)刪除這些文件,仍可在這里補(bǔ)上。

3.3.7. 取消改變(revert)

如果要取消對(duì)一個(gè)文件/文件夾所做的修改,只需用鼠標(biāo)右鍵單擊該文件/文件夾,選擇TortoiseSVN子菜單中的“SVN還原revert”命令,在操作窗口中會(huì)顯示需要還原的文件/文件夾,勾選文件/文件夾后按下“確定OK”按鈕即可。注意這里所做的取消修改只能返回到該文件/文件夾上次“更新Update”后的狀態(tài)。

wps_clip_image-31821

3.3.8. 修訂日志窗口

每一次修改和提交,都應(yīng)該做好日志記錄。這樣開(kāi)發(fā)過(guò)程中就有了一個(gè)詳細(xì)的記錄,以后便可找出每一個(gè)修改是如何修改以及為什么這樣修改的。

日志對(duì)話框會(huì)顯示所有日志信息。顯示分成3個(gè)部分:

1. 最上面部分顯示的是所有被提交的版本列表。顯示有日期時(shí)間、提交者、修訂版本號(hào)和日志信息的前面一部分。用藍(lán)色顯示的行表示有某些文件被復(fù)制到了這個(gè)版本。(也許是從一個(gè)分支來(lái)的)

2. 中間部分顯示的是選中版本的所有日志信息。

3. 底部顯示的是選中版本所做修改的文件和文件夾列表。

還不僅僅是這些,對(duì)話框中還提供了很多的菜單命令可以使用。

wps_clip_image-21240

3.3.9. 文件庫(kù)瀏覽器

選擇“ 文件庫(kù)瀏覽器”菜單,就可以打開(kāi)Subversion服務(wù)器上版本庫(kù)的結(jié)構(gòu),并可以對(duì)版本庫(kù)中的文件/文件夾進(jìn)行操作,如下圖:

wps_clip_image-7939

SVN配置使用


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 德格县| 咸丰县| 五大连池市| 临夏县| 鸡西市| 灵寿县| 平武县| 合江县| 黎平县| 余庆县| 松潘县| 华阴市| 金堂县| 安庆市| 新绛县| 荃湾区| 河池市| 阜宁县| 贡觉县| 光山县| 穆棱市| 大埔县| 宁晋县| 台湾省| 朝阳县| 宁阳县| 温宿县| 铅山县| 开江县| 景谷| 四平市| 闵行区| 孝义市| 晋江市| 崇左市| 福贡县| 双桥区| 江门市| 青阳县| 龙泉市| 岢岚县|