TortoiseSVN是款免費(fèi)開源的開發(fā)管理軟件,輔助用戶開發(fā)軟件、設(shè)計(jì)網(wǎng)站、漢化修改軟件,TortoiseSVN文件保存在中央版本庫,能記住文件和目錄的每次修改,你可以將文件恢復(fù)到過去的版本,并且可以通過檢查歷史知道數(shù)據(jù)做了哪些修改,誰做的修改。 TortoiseSVN特色1.可選的網(wǎng)絡(luò)層 Subversion 在版本庫訪問方面有一個(gè)抽象概念,利于人們?nèi)?shí)現(xiàn)新的網(wǎng)絡(luò)機(jī)制,Subversion 的“高級”服務(wù)器是 Apache 網(wǎng)絡(luò)服務(wù)器的一個(gè)模塊,使用 HTTP 的變種協(xié)議 WebDAV/DeltaV 通訊,這給了 Subversion 在穩(wěn)定性和交互性方面很大的好處,可以直接使用服務(wù)器的特性,例如認(rèn)證、授權(quán)、傳輸壓縮和版本庫瀏覽等等。也有一個(gè)輕型的,單獨(dú)運(yùn)行的 Subversion 服務(wù)器,這個(gè)服務(wù)器使用自己的協(xié)議,可以輕松的用 SSH 封裝。 2.數(shù)據(jù)處理 Subversion 使用二進(jìn)制文件差異算法展現(xiàn)文件的區(qū)別,對于文本(人類可讀)和二進(jìn)制(人類不可讀)文件具備一致的操作方式,兩種類型的文件都壓縮存放在版本庫中,差異在網(wǎng)絡(luò)上雙向傳遞。 3.高效的分支和標(biāo)簽 分支與標(biāo)簽的代價(jià)不與工程的大小成比例,Subversion 建立分支與標(biāo)簽時(shí)只是復(fù)制項(xiàng)目,使用了一種類似于硬鏈接的機(jī)制,因而這類操作通常只會(huì)花費(fèi)很少并且相對固定的時(shí)間,以及很小的版本庫空間。 4.維護(hù)能力 Subversion 沒有歷史負(fù)擔(dān),它由一系列良好的共享 C 庫實(shí)現(xiàn),具有定義良好的 API,這使 Subversion 非常容易維護(hù),可以輕易的被其他語言和程序使用。 5.外殼集成 TortoiseSVN 與Windows 外殼(例如資源管理器)無縫集成,你可以保持在熟悉的工具上工作,不需要在每次使用版本控制功能時(shí)切換應(yīng)用程序。并且你不一定必須使用 Windows 資源管理器,TortoiseSVN 的右鍵菜單可以工作在其他文件管理器,以及文件/打開對話框等標(biāo)準(zhǔn)的 Windows 應(yīng)用程序中。你必須牢記,TortoiseSVN 是有意作為 Windows 資源管理器的擴(kuò)展開發(fā),因此在其他程序可能集成的并不完整,例如重載圖標(biāo)可能不會(huì)顯示。 6.重載圖標(biāo) 每個(gè)版本控制的文件和目錄的狀態(tài)使用小的重載圖標(biāo)表示,可以讓你立刻看出工作副本的狀態(tài)。 7.簡便訪問 Subversion 命令的簡便訪問 所有的 Subversion 命令存在于資源管理器的右鍵菜單,TortoiseSVN 在那里添加子菜單。因?yàn)?TortoiseSVN 是一個(gè) Subversion 客戶端,我們也很愿意為你展示一些 Subversion 本身的特性: 8.目錄版本控制 CVS 只能追蹤單個(gè)文件的歷史,但是 Subversion 實(shí)現(xiàn)了一個(gè)“虛擬”文件系統(tǒng),可以追蹤整個(gè)目錄樹的修改,文件和目錄都是版本控制的,結(jié)果就是可以在客戶端對文件和目錄執(zhí)行移動(dòng)和復(fù)制命令。 9.原子提交 提交要么完全進(jìn)入版本庫,要么一點(diǎn)都沒有,這允許開發(fā)者以一個(gè)邏輯塊提交修改。 版本控制的元數(shù)據(jù)。每個(gè)文件和目錄都有一組附加的“屬性”,你可以發(fā)明和保存任意的鍵/值對,屬性是版本控制的,就像文件內(nèi)容。 TortoiseSVN使用教程建立一個(gè)工作目錄,命名為 runoob01runoob01目錄就是你平常用來存放工作檔案的地方。通常我們會(huì)等到自己的工作做的一個(gè)段落的時(shí)候再進(jìn)行備份。所以我們平常都是在 runoob01 目錄下面工作,等到適當(dāng)時(shí)機(jī)在 commit 到 repository 中。 進(jìn)入創(chuàng)建的目錄在空白處按下右鍵后,選擇 SVN checkout。 接著您可以看到如下的畫面: 首先我們要填入的是 repository(版本庫)的位置,對于 SVN 來說,repository 的位置都是 URL。版本庫 URL 這里填入我們測試的版本倉庫地址 svn://10.0.4.17/runoob01。 接著,稍微看一下 Checkout directory(檢出至目錄),這個(gè)字段應(yīng)該要指向您的 runoob01 目錄。 確認(rèn)后,按下 OK 按鈕,你應(yīng)該可以看到如下的訊息窗口。 這樣就表示動(dòng)作完成。按下 OK 按鈕后,再到您剛剛建立的目錄下。ni將會(huì)看到 MyWork 目錄下面多了一個(gè)名為 .svn 的目錄(這個(gè)目錄是隱藏的,如果您的檔案管理員沒有設(shè)定可以看到隱藏目錄,你將無法看到它) 。 如果您要在一個(gè)已經(jīng)存在的 SVN Server 上面 checkout 出上面的檔案,只需要給定正確的 SVN URL 以及要 checkout 目錄的名稱。就可以取得指定的檔案及目錄了。 新增檔案及目錄到 Repository 中 add commit創(chuàng)建目錄 dir01, 在目錄里新增文件 將新增的文件加入到 SVN 版本控制中,TortoiseSVN 會(huì)把準(zhǔn)備要加入的檔案及目錄,勾選需要加入的文件。 按下 OK 后,你將會(huì)看到如下的訊息窗口: 這個(gè) Add(增加)的動(dòng)作并未真正的將檔案放到 Repository 中。僅僅是告知 SVN 準(zhǔn)備要在 Repository 中放入這些檔案。 此時(shí)的文件狀態(tài)為: 這些檔案真正的放入到 Repository 中,空白處右鍵選擇 SVN commit(提交) 緊接著,你將會(huì)看到如下的窗口出現(xiàn): 在這里可以清楚地了解到哪些檔案要被 commit 到 repository(版本庫)中。同樣的,如果您有檔案不想在這個(gè)時(shí)候 commit 到 Repository,你可以取消選取的檔案,這樣他們就不會(huì)被 commit 到 Repository 中。在"信息"文本框中可以寫入對本次 commit 的說明。 點(diǎn)擊"確認(rèn)"后完成 commit 動(dòng)作,然后你可以到 runoob 目錄中,確定是否所有的檔案 icon 都有如下的綠色勾勾在上面,這樣代表您的檔案都正確無誤的到 repository 中。 更新檔案及目錄 update由于版本控制系統(tǒng)都是由許多人共同使用。所以,同樣的檔案可能還有人會(huì)去進(jìn)行編輯。為了確保工作目錄中的檔案與 Repository 中的檔案是同步的。建議你在編輯前都先進(jìn)行更新的動(dòng)作。 在想要更新的檔案或目錄 icon 上面按下鼠標(biāo)右鍵。并且選擇 SVN Update。 有時(shí)我們需要回溯至特定的日期或是版本,這時(shí)就可以利用 SVN 的 Update to revision 的功能。在想要更新的檔案或目錄 icon 上面按下鼠標(biāo)右鍵。并且選擇 TortoiseSVN->Update to revision。 復(fù)制檔案及目錄 branch很多時(shí)候你會(huì)希望有另外一個(gè)復(fù)制的目錄來進(jìn)行新的編修。等到確定這個(gè)分支的修改已經(jīng)完畢了,再合并到原來的主要開發(fā)版本上。舉例來說,我們目前在runoob01/trunk下面有如下的目錄及檔案 現(xiàn)在,我們要為 trunk 這個(gè)目錄建立一個(gè) branch。假設(shè)我們希望這個(gè)目錄是在 D:\runoob01\branch。首先我們可以在 trunk 目錄下面的空白處,或是直接在 trunk 的 icon 下面按下鼠標(biāo)右鍵選擇 Branch/Tag…(分支/標(biāo)記)這個(gè)選項(xiàng),您將會(huì)看到如下的對話框出現(xiàn)。 請先確認(rèn) From WC at URL(從工作副本/URL): 中的目錄是您要復(fù)制的來源目錄。接著,在 To URL(至路徑)中輸入您要復(fù)制過去的路徑。通常我們會(huì)將所有的 branch 集中在一個(gè)目錄下面。以上面的例子來說,branch 檔案都會(huì)集中在 branch 的子目錄下面。在 To URL 中您只需要輸入您要的目錄即可。目錄不存在時(shí),會(huì)由 SVN 幫您建立。特別需要注意的是 SVN 因?yàn)樾本作為目錄分隔字符,而非反斜線。 接著在 Log message(日志信息)輸入您此次 branch 的目的為何。按下 OK 就可以了。 如果成功,將可以看到下面的畫面: 按下 OK 就可以關(guān)閉這個(gè)窗口了。如果您此時(shí)立刻去 runoob01 目錄的 branch 子目錄下面,您將會(huì)失望的發(fā)現(xiàn)在該目錄下面并沒有剛剛指定的目錄存在。這是因?yàn)槟?runoob01 目錄的部份還是舊的,您只需要在 branch 子目錄下面進(jìn)行 SVN update 就可以看到這個(gè)新增的目錄了。新增的目錄就與原來的目錄無關(guān)了。您可以任意對他進(jìn)行編輯,一直到您確認(rèn)好所有在 branch 下面該做的工作都完成后,您可以選擇將這個(gè) branch merge 回原來的 trunk 目錄,或者是保留它在 branch 中。 合并動(dòng)作 merge假如我們在 branch 分支中對文件進(jìn)行了修改或增加了文件,要 merge 回 trunk 目錄中,方法很簡單。以上面的例子來說,我們在 D:\runoob01\trunk目錄空白處,按下鼠標(biāo)右鍵,選擇 Merge(合并): 這個(gè)畫面主要分為三個(gè)部份,前面的 From: 與 To: 是要問您打算從 Branch 中的哪個(gè)版本到哪個(gè)版本,merge 回原來的 trunk 目錄中。因此,F(xiàn)rom 跟 To 的 URL 字段應(yīng)當(dāng)都是指定原來 branch 的目錄下。剩下的就是指定要 merge 的 revision 范圍。以上面的例子而言,我們從 Branch 的 Revision 7 開始 merge 到 Branch 下面的最新版本。您可以透過,Dry run 按鈕,試作一次 Merge。這個(gè) merge 只會(huì)顯示一些訊息,不會(huì)真正的更新到 trunk 的目錄去。只有按下 Merge 按鈕后,才會(huì)真正的將 branch 的檔案與 trunk 的檔案合并起來。 如果你確認(rèn)這次的 merge 沒有問題,您可以直接使用 commit 來將這兩個(gè)被修改的檔案 commit 回 SVN repository 上。如果有問題,您可以直接修改這兩個(gè)檔案,直到確認(rèn) ok 了,再行 commit。 使用編程語言寫的程序,由于每條指令都對應(yīng)計(jì)算機(jī)一個(gè)特定的基本動(dòng)作,所以程序占用內(nèi)存少、執(zhí)行效率高。 |
1深度技術(shù)win10正式版ghost(32位)旗艦......
2番茄花園win10 X86 ghost 標(biāo)準(zhǔn)通......
3番茄花園Win10_Ghost Win10 64......
4雨林木風(fēng) GHOST WIN10 X64 快速裝......
5深度技術(shù)GHOST WIN10 X64 尊貴專業(yè)......
6筆記本W(wǎng)in10系統(tǒng) 64位官方正式版2023年......
7筆記本win10正式版ghost(32位)旗艦免......
8雨林木風(fēng)win10(32位)ghost 修正專業(yè)......