demoshop

demo, trying to be the best_

在受到 Subversion 版控保護的時候都會在每層的資料夾中擁有 (.svn | _svn) 資料夾,前文有提過千萬不要修改這資料夾的內容,避免版控發生難以拯救的災難,但專案寫完了、工作完成了後總是要交付吧,交付的時候怎麼可能把這有(.svn | _svn) 資料夾的檔案給人,自己刪除?別鬧了!有些資料夾相當的深,每一層都有你會砍到死的。
 

在【TortoiseSVN 使用,從 Repository 抓取特定版本程式(Update)】一文中有提到回覆到之前版本的功能,雖然這種功能已經可以讓時光回逤到一定的點,可是有種情況之下是不適用滴。

在版控系統中任何的異動都會造成一個版本,這是很基本的觀念,版控中對於「移動」和「更名」這些很自然的基本操作確有者一些特殊的操作流程,目的只是為了保留版本歷史記錄,剛開始接觸到的時候很容易做錯或者根本不知道有錯,因此本篇會來介紹版控中「移動」和「更名」的使用方式。
 

一般來說使用更新(Update)都會是取最新版,但是在某些情況之下會需要取回某一次的版本,發生了這種需求的時候只需要將版本更新(Update)至某一版本即可(可以理解成回復)以下就是示範。

上一篇介紹了解決衝突的辦法,但是有個前提就是更新(Update) 的畫面不能關掉,可是這前提實在是太困難了,這視窗很容易就隨手關了,所以又有了這一篇,說明如果已經關閉更新(Update)視窗後要如何排除衝突。
 

上一篇介紹了完美的更新(Update)是如此的輕鬆簡單,基於之前【 Subversion 版本控管的基礎概念】的介紹因為有了自動合併這件事情,所以在 Subversion 內絕大多數都會是那麼完美的,但是如果真的遇到了衝突呢?
 

介紹完了送交(Commit)再來就是更新(Update)的用法,前文也一直有提到當專案有成員送交(Commit)了任何異動,其他成員就必須使用更新(Update)才能取得新檔案,所以更新(Update)也是另一項經常使用的功能,而且他相當簡單。

上一篇介紹了送交(Commit) 的作法看似很簡單,但是還是有些觀念要說明,因此才有了這一篇的出現,在我們開始使用版控以後對於一些平常的習慣需要改變一下,為的是不要讓檔案庫(Repository)髒掉,並且讓其他成員可以了解到每次的送交(Commit)是做了什麼以及為什麼。
 

接續者上一篇,在我們將檔案庫(Repository)的檔案複製一份到工作目錄後,再來就會去修改這工作目錄中的檔案,在  Subversion 內檔案異動後必須要送交(Commit)其他成員以及檔案庫(Repository)才會知道這次的異動,本篇就要介紹如何送交(Commit)檔案。

說了那麼多終於要開始使用版本控管了,之前已經有範例提到 取得檔案(Checkout)的方法,但那也僅僅只是提到而已,在這裡 demo 要重申一下 取得檔案(Checkout)是將檔案庫(Repository)內的資料複製一份到工作區(WorkSpace)的本機複本動作,這動作只有在專案一開始的時候才會使用,不管你是使用線上還是單機版的檔案庫(Repository),執行 取得檔案(Checkout)後本機複本就會與檔案庫(Repository)上的專案資料結構一模一樣。
 

如果你不想自行架設一台永不關機的 SVN Server ,又想要隨處都可以開發就可以考慮使用免費的線上 SVN 服務來達到你的需求。