這是歷史版本頁面 — 看 TortoiseSVN (32-bit) 最新版本

TortoiseSVN:Windows 上右鍵就能做的 SVN 版本控制

TortoiseSVN (32-bit) 軟體圖示 TortoiseSVN (32-bit) 1.5.3 資料更新 2008-09-21 閱讀約 6 分鐘

你正在改一個寫了好幾個月的專案,改了三天,突然發現某個功能壞了,而且你完全想不起來是哪一行改壞的。你翻遍資料夾,只看到一堆「final」、「final2」、「真的最後版」的副本,每個都長得差不多,根本不知道哪個才是對的。你只是想找回昨天還能跑的版本,卻得花半小時比對檔案,最後放棄,從頭再寫一次。

其實你需要的不是更小心,而是把每次改動都記錄下來。很多人會用「複製一份資料夾改名」來當備份,但這招在檔案一多、改動一頻繁時馬上失效,你永遠不知道哪一份是最新的,也不知道哪一份改了什麼。版本控制軟體就是為了解決這件事而存在:它幫你記錄每一次變更、讓你隨時回到任何一個舊版本,也讓團隊知道誰改了什麼。

01TortoiseSVN 到底能做什麼?

它是一套 Windows 用的 SVN 版本控制客戶端,安裝後會整合進檔案總管的右鍵選單。你對檔案或資料夾按右鍵,就能直接提交變更、更新到最新版、建立分支或合併版本。它會記錄每次修改的歷史,讓你可以隨時查看某一行是誰在什麼時候改的,也可以把整個專案還原到某個舊版本。

02我怎麼把改好的檔案送出儲存?

在專案資料夾按右鍵,選「SVN Commit」,它會列出所有變更過的檔案,你勾選要提交的項目、寫一段說明文字,就能把變更送到伺服器。提交前它會自動檢查哪些檔案是新加的、哪些是刪除的,你可以在對話框裡確認後再送出,避免不小心漏掉檔案。

03它怎麼幫我找回舊版本?

在檔案或資料夾上按右鍵,選「TortoiseSVN → Show Log」,會看到完整的提交歷史,每一筆都標了時間和說明。選中任何一筆,按右鍵選「Revert to this revision」,工作副本就會還原成那個時間點的狀態。如果你只想看某一行是誰改的,可以用「Blame」功能,它會逐行標出作者和修訂版本。

04團隊協作時,兩個人改到同一個檔案怎麼辦?

當你更新檔案時,如果別人也改了同一處,會發生衝突。TortoiseSVN 會跳出衝突解決視窗,把兩邊的版本並排顯示,你可以選擇保留哪一邊、或手動合併兩邊的內容。它也會用顏色標出差異,讓你看清楚哪些行是對方改的、哪些是你改的,再決定怎麼處理。

05分支和合併是什麼?我什麼時候會用到?

分支是從主線複製出一條獨立的開發線,適合拿來做新功能或實驗性修改,不會影響主線的穩定版本。做完後再把分支合併回主線。在 TortoiseSVN 裡,按右鍵選「Branch/Tag」就能建立分支,合併時選「Merge」,它會幫你比對兩邊的差異並套用變更。如果你一個人開發、沒有同時維護多個版本的需求,分支功能可能用不太到。

06這套軟體適合一個人寫程式用嗎?

適合。就算沒有團隊,版本控制對個人開發也很有用。你可以隨時回溯到舊版本、比較不同時期的程式碼差異、確認某個功能是哪次提交加進來的。它不需要伺服器也能用,你可以把 repository 建在本機資料夾,用 file:// 協定存取,一個人照樣能享受版本控制的好處。

07它適合完全沒用過版本控制的新手嗎?

它的操作都藏在右鍵選單裡,對沒接觸過版本控制的人來說,選單項目很多,一開始會不知道哪些功能該用。但基本流程只有三個動作:Update(更新)、Commit(提交)、Show Log(看歷史),先把這三個用熟就能應付大部分需求。它的介面是英文的,對不習慣英文介面的人會多一層門檻。

08我聽說 Git 比較流行,這套跟 Git 有什麼不同?

SVN 是集中式版本控制,所有歷史紀錄都存在伺服器上,你必須連上伺服器才能提交和查看歷史。Git 是分散式,每個人電腦上都有完整的歷史,離線也能提交。如果你的專案已經用 SVN 伺服器、或團隊習慣集中管理,TortoiseSVN 可以直接對接;如果你要自己開新專案,Git 生態系(如 GitHub Desktop)可能更符合現在的主流做法。

09我只有 Windows 電腦,它能用嗎?

可以,它只支援 Windows,官方說明列出的系統需求是 Windows 7 到 Windows 11。不過要注意,新版的功能說明中提到系統需求已改為 Windows 10 或更新版本,如果你還在用 Windows 7 或 8,安裝新版可能會遇到問題,需要自行確認哪個版本支援你的系統。

10它是不是免費的?有沒有什麼隱藏限制?

它是開放原始碼軟體,可以免費使用,沒有試用期或付費解鎖的機制。但它的授權型式是 Open Source,表示你可以自由使用、修改、散布,但如果你要把它整合進自己的商業產品,需要遵守開放原始碼授權的規定。這部分建議你查一下它使用的具體授權條款。

11我介面看不懂英文,有中文介面嗎?

官方資料顯示介面語系是 English,沒有提到內建中文。不過 TortoiseSVN 這類工具通常有社群翻譯的語言包,你可以到官方網站或社群論壇找找看有沒有正體中文語言包可以下載安裝。如果找不到,就只能靠英文介面操作,或考慮其他有中文介面的版本控制工具。

12我該不該改用這套?還是直接學 Git 比較好?

如果你的團隊或公司已經用 SVN 伺服器,那 TortoiseSVN 是現成的選擇,直接裝來用就能銜接。如果你是自己一個人開發、沒有既有的 SVN 基礎,Git 生態系(如 GitHub Desktop)的使用者多、教學資源豐富,遇到問題比較容易找到解答。另外,TortoiseSVN 的評分人數只有 53 人,相較之下 GitHub Desktop 有 82 人評分,使用者的回饋樣本較少,這點也可以納入考量。

下載與官方連結

前往官方網站 下載 TortoiseSVN (32-bit)

TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi · 17.85 MB · 連結指向軟體原廠

版本紀錄

再看 5 筆

看完整版本清單

這一版改了什麼

What's new in this version:

Notes:
TortoiseSVN 1.5.3, linked with Subversion 1.5.2.
This is a bugfix only release.

Changes:
Version 1.5.3
- CHG: paths in error messages are nor truncated to 80 chars anymore. (Stefan)
- CHG: enabled rc4 encryption for the sasl dlls. (Stefan)
- CHG: linked against neon 0.28.3
- BUG: some context menu entries were shown if multiple items were
selected even if they only work on single items. (Stefan)
- BUG: the move/copy right-drag menus were not shown if the target
folder was added but not yet committed. (Stefan)
- BUG: fixed missing typecasts. This lead among others to "show log" not
working from the check-for-modifications dialog on x64. (Stefan)
- BUG: Reverting multiple selected paths only showed the files from the first
selected path in the revert dialog. (Stefan)
- BUG: the right-drag context menu did not show all commands for old
working copies (fresh checkout would fix this too). (Stefan)
- BUG: Starting external applications (e.g., the diff tool) could fail if
the working copy is on the same drive as TSVN was installed to. (Stefan)
- BUG: Upgrading could fail under certain circumstances which then required
an uninstall, reboot, reinstall cycle. (Stefan)
- BUG: Sometimes conficts were shown as 'add's in the progress dialog. (Stefan)
- BUG: Moving a file to the "ignore-on-commit" changelist removed the check
but the file would still get committed. (Stefan)
- BUG: When starting TortoiseProc with '*' separated, relative file paths, the
commit dialog would either just flash and exit or not show all the
files from all specified paths. (Stefan)
- BUG: TSVN would not use ssh clients set in the svn config file, only those
set in the TSVN settings dialog. (Stefan)
- BUG: Moving files from one changelist to another by dragging them in the
commit and CfM dialog could hang. (Stefan)
- BUG: If the commit dates were not in sequence with the revision numbers
which can happen when a repository is converted from other version
control systems, the statistics dialog would show a wrong 'by date'
graph. (Stefan)
- BUG: internal properties like bugtraq:, tsvn:, ... which had non-ascii
chars in their values got garbled on newly added folders where those
properties are automatically added. (Stefan)
- BUG: Dragging files from the progress dialog didn't work if the paths had
spaces in them. (Stefan)
- BUG: The file diff dialog (compare revisions) could use the wrong
peg revision in certain situations. (Stefan)
- BUG: the shift-diff to use TortoiseMerge instead of the configured diff
tool didn't work for the filediff dialog. (Stefan)
- BUG: The "add folder" in the repository browser only added the folder
itself without the files in it. (Stefan)
- BUG: When changing the overlay icon set, the deleted overlay did not
show up anymore. (Stefan)