給一個文科生小朋友寫的東西。
我們知道文科生包括經理還有各種科學家:),一般都有很多office文件要寫,同一個文件因為寫作周期可能存在不同的版本,另外不同的版本之間也常常需要進行差異比對。 如果對每個版本文件都用另存一個文件的方式來管理的話很不方便,空間浪費也比較大,最重要的是一旦不小心刪除或者文件被病毒損壞,就很難恢復。

其實對于office文件和一般的文檔資料很適合用tortoise svn這樣的工具來進行管理。尤其是tortoise內置了對office文件的比對支持,操作非常方便。

這里介紹怎么用tortoise svn 來管理自己的office和其他文檔。

首先下載安裝小海龜, 這是一個開源免費的svn客戶端工具。

http://tortoisesvn.net/downloads TortoiseSVN-1.5.0.13316-win32-svn-1.5.0.msi
根據需要可以安裝中文語言包
小海龜安裝以后會在windows的文件瀏覽器的右鍵菜單里增加幾個屬性,用這幾個屬性就可以完成操作了。


考慮到文科生一般不熟悉軟件開發的東西, 先介紹一下基本概念

1. repository 倉庫
svn 需要一個倉庫來管理要存放的文件, 對應的是操作系統的一個目錄。
考慮到不同的版本積累,倉庫一般要比你實際的文檔大一些,硬盤空間要留夠。
當然倉庫可以建立多個,如果硬盤空間不夠了,換個盤再建也可以。

也可以根據自己的需要,把資料分類建立不同的倉庫,這樣備份會更加方便。

注意:svn的倉庫是壓縮存儲的,里面的東西不可以直接存取和刪除。


2. checkout

把倉庫里的文件取出來放置在本地的一個目錄。做checkout操作時本地目錄最好為空。

checkout的時候可以進一步指定目錄,這樣只用checkout一部分內容,節約時間。

3.  commit

本地文件修改以后,需要把變化提交到倉庫中。

如果是新文件,需要是倉庫沒有的文件,選擇add提交。
如果要刪除文件,不能直接刪除,應該選擇svn菜單中的delete。
然后再選擇提交。

4.  update

檢查倉庫, 讓本地目錄和倉庫中的文件進行同步。 一般不需要用到。

如果使用工具刪除了倉庫中的文件,同事也希望刪除本地文件,則可以使用此操作。 如果不小心誤刪了本地文件,也可以用update從倉庫中取出。

5.  revision
本地文件每提交一次變化到倉庫,會順序產生一個號碼,可以用這個號碼來進行版本跟蹤。一般不需要記憶這個號碼,可以通過時間和注釋來進行判斷


了解這些概念就可以開工了

1. 建立倉庫
在合適的硬盤,不要在c盤,建立一個目錄, 然后在文件管理器中右鍵選擇目錄,在菜單中tortoisesvn菜單中選擇create repositroy from here. 倉庫類型選 native filesystem即可,一路ok,建立好自己的倉庫。



2. 提交文檔到倉庫

找到存放文檔的目錄, 在目錄上用右鍵菜單選擇 svn checkout。
在url for respository 中輸入你的倉庫目錄。
checkout成功以后,目錄會增加一個綠色的小勾。

因為是第一次checkout,所以倉庫里實際并沒有文件,所以需要把本地文件再提交上去。在目錄選擇commit,會出現一個對話框,選擇對需要增加到倉庫的文件,確定。

進入目錄,可以看到所有提交到倉庫的文件都有一個綠色小勾, 對未提交到倉庫的文件或者新增的文件,可以用右鍵選中以后選中tortoisesvn 菜單里的add 增加,然后再使用commit確認變化。


ps,也可以使用import的方法導入到倉庫中,但是之后的操作比較繁瑣,所以先不介紹。

好了,基本的設置就是這樣了,因為svn的倉庫使用的是壓縮模式,而且不同版本直接只存儲有差異的部分,所以實際倉庫的體積會小于原始文檔的體積。比如我6g的文檔svn以后大概就是3.8g左右。


可以看到toroise是集成在文件操作菜單中的,所以使用比較方便。

接下來對一些常見操作做介紹。

1. 如果提交一個新文件?

在checkout的目錄里右鍵選擇add,再選擇commit即可,也可以在上級目錄選擇commit。
注意,為了保證你日后信息差異的方便,每次提交時請一定要填寫注釋信息。見下圖


2. 如何提交一個修改過的文件?

修改過的文件會有一個紅色的小圖標, 右鍵選擇commit即可。
注意,為了保證你日后信息差異的方便,每次提交時請一定要填寫注釋信息。

3. 如何比對兩個版本的差異。

選擇文件,右鍵菜單, 在tortoisesvn中選擇show log。

會列出文件的所有版本信息, 同時選中2個版本,選擇compare revisions。
好吧,好玩的地方出現了,如果是office文件 (word,ppt, excel) ,則會自動調用office顯示對應的差異,是不是很niubility?
這是word的效果

這是ppt的效果

這是excel的效果

 
如果是文本文件則會調用內置的一個文本比對工具。

4. 如何查看版本提交歷史?

可以按前述3的方法 或者直接選擇revision graph 可以以圖形的方式看到文檔的版本變更路徑

5. 如何讓本地文件更新為一個特定歷史版本?

選擇文件,右鍵菜單, 在tortoisesvn中選擇upate to revision;再選擇show log,選中感興趣的版本就好了。


6. 如何直接查閱庫中的文件?

隨意打開一個文件瀏覽器, 右鍵選擇tortoise svn -> repo-browser. 在url for repository中輸入倉庫文件所在目錄。

可以在彈出的窗口里完成 查找, 版本比對, 獲取特定版本文件, 刪除倉庫文件等操作。


7. 如何備份倉庫文件

直接備份倉庫文件的目錄即可。 恢復的時候直接覆蓋原目錄,或者新建立一個目錄在瀏覽的時候設定使用此目錄即可。

也可以把倉庫文件直接刻錄在光碟上,查閱的時候直接用repo-browser瀏覽即可。



8 其他
本地目錄有個綠色的小勾表示該目錄是從倉庫中的某個目錄checkout的, 如果有紅色的感嘆號,則表示目錄中有新增的文件或者修改以后未提交。
如果提交失敗,一般選擇菜單中的clean 或者先update一下即可。


其他更詳細的操作可以參看海龜的幫助。另外建議再安裝一個google的desktop,這樣可以方便做全文檢索。