學(xué)習(xí)筆記: TortoiseSVN客戶端使用詳解
本節(jié)向大家描述一下TortoiseSVN客戶端使用問(wèn)題,在這里和大家分享一下,希望通過(guò)本節(jié)的學(xué)習(xí)大家對(duì)TortoiseSVN客戶端使用方法有一定的掌握。下面是具體介紹。
1.如何比較兩個(gè)版本之間的差別
本地更改
如果你想看到你的本地副本有哪些更加,只用在資源管理器中右鍵菜單下選TortoiseSVN→比較差異。
與另外一個(gè)分支/標(biāo)簽之間的差異
如果你想查看主干程序(假如你在分支上開發(fā))有哪些修改或者是某一分支(假如你在主干上開發(fā))有哪些修改,你可以使用右鍵菜單。在你點(diǎn)擊文件的同時(shí)按住Shift鍵,然后選擇TortoiseSVN→URL比較。在彈出的對(duì)話框中,將特別顯示將與你本地版本做比較的版本的URL地址。
你還可以使用版本庫(kù)瀏覽器,選擇兩個(gè)目錄樹比較,也許是兩個(gè)標(biāo)記,或者是分支/標(biāo)記和***版本。郵件菜單允許你使用比較版本來(lái)比較它們。閱讀第5.9.2節(jié)“比較文件夾”以便獲得更多信息。
與歷史版本的比較差異
如果你想查看某一特定版本與本地拷貝之間的差異,使用顯示日志對(duì)話框,選擇要比較的版本,然后選擇在右鍵菜單中選與本地拷貝比較差異
兩個(gè)歷史版本的比較
如果你要查看任意已提交的兩個(gè)歷史版本之間的差異,在版本日志對(duì)話框中選擇你要比較的兩個(gè)版本(一般使用Ctrl-更改),然后在右鍵菜單中選比較版本差異
如果你在文件夾的版本日志中這樣做,就會(huì)出現(xiàn)一個(gè)比較版本對(duì)話框,顯示此文件夾的文件修改列表。閱讀第5.9.2節(jié)“比較文件夾”以便獲得更多信息。
提交所有修改
如果你要在一個(gè)視窗中查看某一版本的所有更改,你可以使用統(tǒng)一顯示所有比較(GNU片段整理)。它將顯示所有修改中的部分內(nèi)容。它很難顯示一個(gè)全面清晰的比較,但是會(huì)將所有更改都集中顯示出來(lái)。在版本日志對(duì)話框中選擇某一版本,然后在右鍵菜單中選擇統(tǒng)一顯示所有比較。我們?cè)賮?lái)看一下TortoiseSVN客戶端使用中文件差異。
文件差異
如果你要查看兩個(gè)不同文件之間的差異,你可以直接在資源管理器中選擇這兩個(gè)文件(一般使用Ctrl-modifier),然后右鍵菜單中選TortoiseSVN→比較差異。
WC文件/文件夾與URL之間的比較差異
如果你要查看你本地拷貝中的任一文件與版本庫(kù)中任一文件之間差異,
譴責(zé)信息之間的比較差異
如果你要查看的不僅是比較差異而且包括修改該版本的作者,版本號(hào)和日期,你可以在版本日志對(duì)話框中綜合比較差異和譴責(zé)信息。這里有更多詳細(xì)介紹第5.20.2節(jié)“追溯不同點(diǎn)”。
比較文件夾差異
TortoiseSVN自帶的內(nèi)置工具不支持查看多級(jí)目錄之間的差異,但你可以使用支持該功能的外置工具來(lái)替代。在這里第5.9.4節(jié)“其他的比較/合并工具”我們可以介紹一些我們使用過(guò)的工具。
2.提交代碼時(shí)怎樣知道自己改了哪些文件,別人改了哪些文件
3.如何知道某個(gè)文件的某一行是誰(shuí)在哪個(gè)版本修改的
4.如何為一個(gè)SVN主工程建立分支或tag
創(chuàng)建分支使用步驟:
1、選擇你要產(chǎn)生分支的文件,點(diǎn)擊鼠標(biāo)右鍵,選擇[分支/標(biāo)記...]
2、在[至URL(T)]輸入框中將文件重命名為你的分支文件名,輸入便于區(qū)分的日志信息,點(diǎn)擊確認(rèn)。
3、在SVN倉(cāng)庫(kù)中會(huì)復(fù)制一個(gè)你所指定的文件,文件名稱就是你所命名的,但是在你的本地目錄上看不到新建的分支文件名,要使你的文件更新作用到你的分支上,你必須選擇文件,點(diǎn)擊鼠標(biāo)右鍵,選擇[切換...],選擇你重命名的文件,點(diǎn)擊確定即可。這樣你的本地文件就和分支文件關(guān)聯(lián)上了,不要奇怪,這時(shí)本地目錄上看到的文件名仍然為舊的文件名。
經(jīng)驗(yàn)小結(jié):
1、如果操作的文件之前還未提交,而你又想把文件提交到新的分支上,記得一定要選擇切換
2、SVN分支的管理實(shí)際上就是把不同的分支用不同的文件保存,因此你在取得新版本的時(shí)候會(huì)發(fā)現(xiàn),不同分支的***文件也會(huì)被獲取下來(lái)。
創(chuàng)建tag操作,相當(dāng)于把當(dāng)前的代碼版本復(fù)制一份到其他地方,然后以這個(gè)地方為出發(fā)點(diǎn)進(jìn)行新的開發(fā),與原來(lái)位置的版本互不干擾。
TortoiseSVN客戶端使用中對(duì)于branches、tags、trunk這三個(gè)目錄,并不是subversion必需的,而是被總結(jié)的一種良好的團(tuán)隊(duì)開發(fā)習(xí)慣,其使用方法為:
1、開發(fā)者提交所有的新特性到主干。每日的修改提交到/trunk:新特性,bug修正和其他。
2、這個(gè)主干被拷貝到“發(fā)布”分支。當(dāng)小組認(rèn)為軟件已經(jīng)做好發(fā)布的準(zhǔn)備(如,版本1.0)然后/trunk會(huì)被拷貝到/branches/1.0。
3、項(xiàng)目組繼續(xù)并行工作,一個(gè)小組開始對(duì)分支進(jìn)行嚴(yán)酷的測(cè)試,同時(shí)另一個(gè)小組在/trunk繼續(xù)新的工作(如,準(zhǔn)備2.0),如果一個(gè)bug在任何一個(gè)位置被發(fā)現(xiàn),錯(cuò)誤修正需要來(lái)回運(yùn)送。然而這個(gè)過(guò)程有時(shí)候也會(huì)結(jié)束,例如分支已經(jīng)為發(fā)布前的最終測(cè)試“停滯”了。
4、分支已經(jīng)作了標(biāo)簽并且發(fā)布,當(dāng)測(cè)試結(jié)束,/branches/1.0作為引用快照已經(jīng)拷貝到/tags/1.0.0,這個(gè)標(biāo)簽被打包發(fā)布給客戶。
5、分支多次維護(hù)。當(dāng)繼續(xù)在/trunk上為版本2.0工作,bug修正繼續(xù)從/trunk運(yùn)送到/branches/1.0,如果積累了足夠的bug修正,管理部門決定發(fā)布1.0.1版本:拷貝/branches/1.0到/tags/1.0.1,標(biāo)簽被打包發(fā)布。
一般建立最初的repository時(shí),就建好這三個(gè)目錄,把所有代碼放入/trunk中,如:要將project1目錄下的代碼導(dǎo)入repository,project1的結(jié)構(gòu)就是:project1/branches,project1/tags,project1/trunk,project1/trunk/food.c,project1/trunk/egg.pc……,然后將project1目錄導(dǎo)入repository,建立最初的資料庫(kù)。然后export回project1,作為本地工作目錄。本節(jié)關(guān)于TortoiseSVN客戶端使用介紹完畢。
【編輯推薦】