個人檔案 + 版本控制:USB Disk + SVN 的實務與原理
問題與答案 (FAQ)
Q&A 類別 A: 概念理解類
A-Q1: 什麼是版本控制系統(VCS)?
- A簡: 版本控制系統用於追蹤檔案歷史、比較差異、回復舊版,支援多人協作與變更註記,常見於程式碼與文件管理。
- A詳: 版本控制系統是一套用來管理檔案變更歷史的工具。它能記錄每次修改、作者與註解,支援比對差異、回復舊版與分支合併,也能處理多人協作時的衝突。雖常見於軟體開發,但對一般文件如 Word、PPT 同樣適用,可整合備份需求並提供更精確的版本存取與註記,提升檔案管理效率與安全。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q2, A-Q6, A-Q11
A-Q2: 什麼是 SVN(Subversion)?
- A簡: SVN 是集中式版本控制系統,採「先編輯後合併」模式,支援多協定、跨網路使用,適合個人與團隊。
- A詳: SVN 是一種集中式版本控制系統,強調「Edit-Merge-Commit」的運作邏輯。使用者先在本機工作副本編輯,完成後提交至中央儲存庫。SVN 支援多種傳輸協定(如 HTTP/HTTPS),適合跨網路與異地協作。相較需事先鎖定的系統,SVN 更貼合開源與個人檔案管理情境,能保留精確歷史、註記與差異,比一般備份更靈活。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q7, B-Q1, C-Q2
A-Q3: 什麼是 VSS(Visual SourceSafe,微軟版本)?
- A簡: VSS 是早期微軟的版本控制,偏「先鎖定再修改」,網路效能較差,對個人文件使用門檻較高。
- A詳: Visual SourceSafe 是微軟早期的版本控制工具,偏向「Lock-Modify-Commit」策略,要求修改前先 check-out 鎖定,以避免衝突。其為檔案系統式(file-based)存取,跨網路或 VPN 效能不佳,常需搭配 Visual Studio 使用。對一般文書工作者而言,流程較繁瑣,容易打斷編輯流程,管理個人文件時顯得過度嚴格與不便。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q7, A-Q14, B-Q6
A-Q4: 什麼是 VSS(Volume Shadow Copy Service,影子複製)?
- A簡: Windows 的影子複製服務,透過 COW 與排程快照保留檔案版本,但精確度與註記能力有限。
- A詳: Windows 的 Volume Shadow Copy Service 在檔案系統層提供快照機制,依排程建立時間點備份,採用 Copy-on-Write 技術以節省空間。其優點是無需改變使用習慣,還原容易;缺點是版本點受排程控制,不易對單檔版本註記、比對與選擇性回復,難以滿足精確的版本需求。適合作為二層保護,不適合當主要版本管理。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q5, A-Q16, A-Q20
A-Q5: 什麼是 TFS(Team Foundation Server)?
- A簡: 微軟 ALM 平台,整合版控、工作追蹤、建置與報表,體量大,對個人檔案管理過於笨重。
- A詳: TFS 是微軟的整合應用生命週期平台,提供版本控制、工作與缺陷追蹤、自動建置、報表與入口網站等。部署通常仰賴多元元件(IIS、SQL、Reporting、SharePoint、AD),管理與成本較高。雖適合企業規模專案,但對單人或個人檔案管理而言太過龐大,工具依賴性強、啟動門檻高,不符「隨插即用」與輕量需求。
- 難度: 中級
- 學習階段: 基礎
- 關聯概念: A-Q14, A-Q15, B-Q6
A-Q6: 為什麼個人文件也需要版本控制?
- A簡: 個人文件常有多版與客製需求,版本控管能精準記錄變更、註記原因、快速回復與比較差異。
- A詳: 個人工作常需對 Word、PPT 反覆修改,且因客戶或情境不同而分歧(如客製簡報)。以版本控制記錄每次變更與註解,能快速回復舊版、比較差異、避免覆蓋錯誤。相較一般備份,版本控管提供粒度更細、語義更清晰的追蹤與歸檔策略,提升工作效率與風險控管,亦能支援跨裝置與異地存取。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q1, A-Q16, B-Q9
A-Q7: SVN 與 VSS(Visual SourceSafe)有何差異?
- A簡: SVN 採編輯後合併,網路友善;VSS 要先鎖定,網路效能差。SVN更適合個人文件與分散協作。
- A詳: VSS 要求修改前先 check-out 鎖定,以降低衝突;SVN 則允許先在本機編輯,提交時再合併與解衝突。VSS 為檔案系統式,跨網路效能差且工具依賴高;SVN 支援多協定,對網路與遠端使用更友善。對個人文件,SVN 的彈性流程不打斷思路,離線也能工作,回到線上再提交即可。
- 難度: 初級
- 學習階段: 核心
- 關聯概念: A-Q8, B-Q1, B-Q6
A-Q8: Edit-Merge-Commit 與 Lock-Modify-Commit 差在哪?
- A簡: 前者先編輯再合併,流程彈性;後者先鎖再改,衝突少但流暢度差,對文書使用不友善。
- A詳: Edit-Merge-Commit(SVN/CVS)允許先在本機修改,提交時由系統比對差異,必要時手動解衝突,流程彈性高且離線友好。Lock-Modify-Commit(VSS/TFS-mode)要求先鎖檔再改,能降低衝突,但需配合工具、易打斷工作。對文書與個人使用,前者更貼近自然編輯流程;對大型團隊嚴格控管,後者更穩定。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q7, B-Q3, C-Q4
A-Q9: 什麼是 Copy-on-Write(COW)?
- A簡: COW 在寫入時才複製原資料區塊,節省空間與時間,常用於快照與版本保存。
- A詳: Copy-on-Write 是一種延後複製策略,系統在資料未更動前共用同一實體區塊,只有當有寫入發生時,才複製出新區塊寫入變更,保留原狀作為快照。Windows 的影子複製以此原理節省空間與時間,適用於系統層級快照與快速還原。不過其版本點由排程決定,缺乏語義註記與精細控制。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q4, B-Q5, A-Q10
A-Q10: 什麼是快照(Snapshot)?
- A簡: 快照是在特定時間點凍結的檔案系統狀態,多用於快速還原,但版本意義與註記能力有限。
- A詳: 快照是對檔案系統在某時間點的整體狀態拍照,常見於備份與還原情境。它能快速回復整體或單檔舊狀,但通常由排程觸發,難以對特定變更賦予語義註記。應用上適合作為第二層保護或災難復原,不等同於版本控制的精確歷史管理與差異追蹤。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q4, A-Q16, B-Q9
A-Q11: 什麼是 Repository(儲存庫)?
- A簡: Repository 是中心資料庫,保存版本歷史、分支、標籤與檔案內容,供工作副本提交與更新。
- A詳: 在 SVN 中,Repository 是集中保存所有檔案歷史、分支與標籤的中心儲存庫。使用者的工作副本從此檢出,修改後再提交回庫。它支援權限控管、網路協定與瀏覽,能成為第一線備份的來源。對個人方案而言,可設於家用伺服器並開放網路存取,配合 USB Working Copy 機動使用。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q1, C-Q1, C-Q2
A-Q12: 什麼是 Working Copy(工作副本)?
- A簡: 工作副本是可編輯的本地檔案集合,內含 .svn 中繼資訊,用於追蹤變更與離線操作。
- A詳: 工作副本是從 Repository 檢出到本機的檔案集合,夾帶 .svn 目錄保存版本中繼資料,能比對本地變更、進行提交與回復。它支援離線編輯,待連線再與儲存庫同步。若工作副本放在 USB 隨身碟,能在多台電腦使用,且不需事先鎖定檔案即可自然編輯。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q2, B-Q2, C-Q2
A-Q13: 為什麼 USB Disk + SVN 適合個人檔案?
- A簡: 便攜離線編輯、回公司再提交;精確版本註記;跨網路取用;操作不打斷文書流程。
- A詳: USB 放置工作副本,讓使用者隨插即用、離線可編輯。回到有網路的環境,將變更提交至家用或公司伺服器的 Repository,獲得精確歷史、註記與差異。SVN 的編輯後提交模式不需事先鎖定,不會中斷 Word/PPT 的自然操作;搭配伺服器的 Web 瀏覽,忘帶隨身碟也能遠端存取。
- 難度: 初級
- 學習階段: 核心
- 關聯概念: C-Q2, C-Q4, A-Q18
A-Q14: 為何不建議用 VSS(微軟版)管個人檔案?
- A簡: 需先鎖檔、跨網路速度慢、工具依賴高,易打斷文書流程,對單人使用顯得笨重。
- A詳: VSS 要求 check-out 後才能改,開了 Word/PPT 才決定修改會遇唯讀與重開問題,打斷思緒。其 file-based 架構在網路、VPN 上效能差,即使有 LAN Boost 或 Web 介面也受限工具整合。對個人文件,這樣的嚴格鎖定機制與操作成本過高,不如 SVN 的彈性流程與網路友善性。
- 難度: 初級
- 學習階段: 核心
- 關聯概念: A-Q7, B-Q6, D-Q3
A-Q15: 為何 TFS 不適合個人檔案管理?
- A簡: 架構龐大、部署複雜、工具依賴強,超出個人需求與成本,便攜性也不足。
- A詳: TFS 整合版控、工作追蹤與報表,需多元伺服器元件支援。對個人檔案管理,此等體量與維運成本明顯過高,且不符合 USB 隨插即用與離線機動的需求。工具耦合也不利多環境靈活切換。就效率與體驗而言,SVN 搭 USB 與輕量客戶端更貼合個人場景。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q5, A-Q13, B-Q6
A-Q16: 為何說 SVN 比一般備份更精確?
- A簡: 提交即留存版本與註記,可選檔回復、比對差異;備份多為整體快照,語義不足。
- A詳: 傳統備份多由排程產生整體快照,還原與查找需解壓與比對,缺乏針對特定變更的語義註記。SVN 在每次提交時保留精確的版本、作者與訊息,可快速對單檔比對、回復、標記,作為第一層「智慧備份」。再搭配影子複製或壓縮檔,形成第二層安全保護,兼顧效率與可靠性。
- 難度: 初級
- 學習階段: 核心
- 關聯概念: B-Q9, C-Q9, A-Q10
A-Q17: 為何讓伺服器資訊跟著目錄(.svn)很重要?
- A簡: .svn 隨目錄攜帶設定,多機切換免重配,特別適合 USB 與磁碟代號變動情境。
- A詳: 像 TortoiseSVN 會在工作副本中放置 .svn 目錄,保存伺服器位置與版本狀態,使設定與工作資料共同行動。使用 USB 在多台電腦、不同磁碟代號間切換時,不用在每台機器重建工作區或重設對應,提升可攜性與效率,也降低工具對本機環境的依賴。
- 難度: 初級
- 學習階段: 核心
- 關聯概念: B-Q2, C-Q2, D-Q5
A-Q18: 什麼是異地存取?為何重要?
- A簡: 異地存取指不在本機也可取檔。配合 SVN 伺服器 Web 介面,忘帶隨身碟仍能下載。
- A詳: 異地存取是指在辦公室外或未攜帶裝置時,仍可透過網路取用檔案。以 VisualSVN Server 提供的 Web 瀏覽為例,使用者可登入後下載需要的版本檔案。若客戶端具備 SVN,也可檢出或更新。這對常見的「忘帶 USB」或臨時需求尤其關鍵,提升可靠性與工作不中斷。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: C-Q8, D-Q1, A-Q13
A-Q19: PortableApps 在此方案扮演什麼角色?
- A簡: PortableApps 使 USB 成為可攜環境,集中工具與資料,便於在任意電腦快速展開工作。
- A詳: PortableApps 提供可攜式應用平台與選單,讓常用工具以「不需安裝」方式在 USB 上運行。對 USB + SVN 的個人方案,它能集中管理附件工具、文件與結構,讓使用者在任意電腦插入即用。雖非版本控制本身,但能改善流程與體驗,作為配套環境。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: C-Q2, C-Q3, C-Q10
A-Q20: 用影子複製(VSS)當版本控制有何限制?
- A簡: 版本點由排程決定、難註記、選擇性回復不便,無法像 SVN 般精準管理單檔版本。
- A詳: 影子複製的版本由快照排程產生,可能與實際變更語義脫節。無法對單一提交附註解說、標記用途,也不易針對單檔回復特定改動。雖然操作零成本、適合作為第二層保護,但不適合取代版本控制在精確歷史、差異比對與工作流程上的價值。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q4, A-Q16, B-Q5
Q&A 類別 B: 技術原理類
B-Q1: SVN 的運作流程如何?
- A簡: 先檢出工作副本,離線編輯;連線後更新、解衝突,最後提交至儲存庫保存版本。
- A詳: SVN 採集中式架構。使用者從儲存庫檢出工作副本,於本機編輯檔案。連線時先執行 update,同步他人變更;若發生重疊修改,透過三方比對解衝突,完成後再 commit。每次提交生成新版本與註記,可標籤或分支。流程核心組件含 Repository、Working Copy、Client(如 TortoiseSVN)與 Server(如 VisualSVN)。
- 難度: 初級
- 學習階段: 核心
- 關聯概念: A-Q2, A-Q11, A-Q12
B-Q2: TortoiseSVN 如何追蹤工作副本狀態(.svn)?
- A簡: 每個版本控目錄含 .svn 儲存中繼資料,比對變更、顯示圖示,驅動右鍵功能與提交流程。
- A詳: TortoiseSVN 在每個受版控的目錄維護 .svn,內含基準版本、檔案指紋與伺服器資訊。透過檔案系統掛鉤,它在檔案總管顯示狀態圖示(新增、修改、衝突),並提供右鍵功能(新增、忽略、還原、提交)。此設計使設定隨目錄移動,便於 USB 可攜與多機切換。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q12, A-Q17, C-Q3
B-Q3: SVN 如何偵測衝突並合併?
- A簡: 提交或更新時比對基準與最新版本,對同一區塊修改產生衝突,需人工解決後提交。
- A詳: SVN 以三方合併策略,將本機變更、基準版本與儲存庫最新版比對。若不同人修改同檔不同區塊,能自動合併;若同區塊同時變更,標記為衝突,生成 .mine、.rOLD、.rNEW 檔供對照。使用者解決衝突、標記已解決後再提交。文書檔案可用外部工具協助比較。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q8, D-Q2, C-Q7
B-Q4: VisualSVN Server 的連線與架構為何?
- A簡: 採 Windows 服務與 HTTP/HTTPS 提供存取,並附簡易 Web 瀏覽,便於異地讀取與權限控管。
- A詳: VisualSVN Server 在 Windows 上透過 HTTP/HTTPS(WebDAV/SVN)提供儲存庫服務,內建管理主控台與存取控制,並附 Web 瀏覽介面供直接下載檔案。用戶端可用 TortoiseSVN 或命令列連線。此架構友善企業環境設定與網路穿透,支援個人主機作遠端中心。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: C-Q1, C-Q8, A-Q18
B-Q5: 影子複製的 COW 與快照流程怎麼運作?
- A簡: 系統定期建立快照,修改時以 COW 保留舊塊,達到空間效率與快速回復,但版本粗糙。
- A詳: 啟用後,系統依排程生成快照標記。當有寫入發生,原資料塊先被複製到快照區,再將新內容寫入,形成時間點的完整檢視。此機制空間與時間效率佳,適合快速還原。但其版本點非使用者語義,不支援細粒度註記與選擇性回復,不等同於版本控制。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q4, A-Q9, A-Q20
B-Q6: 為何 VSS(微軟版)跨網路效能差?
- A簡: 因為以檔案共享方式運作,需大量往返 I/O,延遲高;即使改進方案仍受限架構。
- A詳: VSS 依賴檔案系統共享進行版本存取,跨網路需要頻繁小檔 I/O 與鎖定操作,延遲累積造成體感遲緩。雖有 LAN Boost 或 Web 服務介面等改善,但本質仍受 file-based 架構限制。相較之下,SVN 以協定封裝差異,網路效率更佳。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q7, A-Q14, D-Q6
B-Q7: SVN 如何支援離線工作?
- A簡: 工作副本保存基準與中繼資料,可離線編輯;連線後更新、合併並提交同步。
- A詳: 工作副本包含檔案與 .svn 基準,允許在無網路下進行編輯、暫存與比較差異。恢復連線後先更新取得他人變更,解決可能的衝突,再提交本地修改。此機制讓 USB + SVN 非常適合行動情境與外出簡報的臨時修正。
- 難度: 初級
- 學習階段: 核心
- 關聯概念: A-Q12, C-Q4, D-Q2
B-Q8: 伺服器資訊綁目錄如何實現可攜?
- A簡: 以 .svn 保存遠端位址與狀態,目錄移動後仍知曉對應儲存庫,多機切換免重設。
- A詳: 工作副本的 .svn 記錄了儲存庫 URL、版本基準與檔案摘要,作為狀態真實來源。當目錄被移動到另一台電腦(如 USB),客戶端仍能據此判斷來源與需要的操作,減少對本機全域設定的依賴。這對裝置代號變動與臨時環境尤為關鍵。
- 難度: 初級
- 學習階段: 核心
- 關聯概念: A-Q17, D-Q5, C-Q2
B-Q9: 差異備份與版本控管有何技術差別?
- A簡: 差異備份按檔案位元差分;版本控管保存語義提交、可比對、回復與分支,粒度更細。
- A詳: 傳統差異備份著重於節省空間與恢復整體,對單檔歷史與註記支持弱。版本控管以提交為單位保存修改意圖、作者與訊息,支援檔案層差異比對、部分回復、標籤與分支。技術重心不同:備份偏災復;版控偏協作與歷程管理。兩者可互補,形成一、二層保護。
- 難度: 初級
- 學習階段: 核心
- 關聯概念: A-Q16, C-Q9, A-Q10
B-Q10: 如何用分支/合併管理不同客戶版本?
- A簡: 以主線維護通用版,針對客戶開分支調整;回饋共通改動再合併回主線。
- A詳: 將通用文件(如簡報模板)置於 trunk,為 A、B 客戶各開 branch,分別調整客製內容。若在分支上做了通用改良,可選擇性合併回 trunk;反之,trunk 的更新也可定期合併進各分支。此流程對應實務中的「改一點就拿去用」並保留可追溯性。
- 難度: 中級
- 學習階段: 進階
- 關聯概念: C-Q7, B-Q3, A-Q6
Q&A 類別 C: 實作應用類
C-Q1: 如何在 Windows 上快速架設 VisualSVN Server?
- A簡: 安裝 VisualSVN Server,建立儲存庫、設定使用者與 HTTP(S) 存取,啟用 Web 瀏覽。
- A詳: 步驟:1) 下載並安裝 VisualSVN Server(選擇使用內建 Apache,勾選管理主控台)。2) 建立新 Repository(如 FilesRepo),啟用標準結構(trunk/branches/tags)。3) 新增使用者與群組,設定讀寫權限。4) 確認服務透過 HTTP/HTTPS 對外可達,於防火牆開放連接埠。5) 測試 Web 介面瀏覽。注意:使用 HTTPS、定期備份儲存庫。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q4, C-Q8, C-Q9
C-Q2: 如何在 USB 隨身碟建立可攜的工作副本?
- A簡: 以 TortoiseSVN 將儲存庫檢出至 USB,.svn 隨目錄保存設定,多機插拔即可使用。
- A詳: 步驟:1) 在 USB 建立資料夾(如 X:\Work)。2) 右鍵 TortoiseSVN → Checkout,輸入儲存庫 URL(http(s)://server/FilesRepo/trunk)。3) 完成後,USB 內即為工作副本,.svn 隨目錄保存資訊。4) 在任意電腦插入 USB,即可直接編輯檔案,連線時再提交。注意:避免將 .svn 目錄清除;隨機裝置代號不影響對應。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q12, A-Q17, D-Q5
C-Q3: 如何用 TortoiseSVN 進行新增、提交與回復?
- A簡: 右鍵新增加入版控、編輯後提交;誤改可還原至基準或某版本,附註記便於追蹤。
- A詳: 步驟:1) 新增檔案後右鍵→ TortoiseSVN → Add。2) 批次修改完成,右鍵→ SVN Commit,撰寫提交訊息。3) 誤改時右鍵→ Revert 回復至基準;需回到特定歷史版本則使用 TortoiseSVN → Show log → Revert to this revision。最佳實踐:每次提交主題單一、訊息清楚;善用檔案忽略規則。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q1, B-Q2, C-Q6
C-Q4: 無網路時如何編輯並回公司後提交?
- A簡: 先離線編輯 USB 工作副本,返公司連線後 Update、解衝突,再 Commit 提交變更。
- A詳: 步驟:1) 外出前從儲存庫更新 USB 副本。2) 離線時直接編輯檔案與資料夾。3) 回到公司連線後,先執行 SVN Update 同步他人變更。4) 若出現衝突,使用比較工具解決並標記 resolved。5) 最後 SVN Commit,撰寫清晰訊息。注意:跨天工作養成小步頻繁提交習慣,降衝突風險。
- 難度: 初級
- 學習階段: 核心
- 關聯概念: B-Q7, D-Q2, A-Q13
C-Q5: 如何從 VSS/影子複製遷移到 SVN?
- A簡: 彙整最新檔案為遷移基準,建立 SVN 結構後匯入,原備份改為二層保護。
- A詳: 步驟:1) 在 VSS/影子複製中取出「最終版」檔案集合。2) 建立 SVN Repository(trunk/branches/tags)。3) 使用 TortoiseSVN → Import 將檔案匯入 trunk。4) 在本機或 USB 檢出副本開始日常提交。5) 保留舊備份作二層保護。注意:如需保留舊歷史,需額外轉檔工具;通常以「乾淨起點」最簡。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q7, A-Q20, C-Q9
C-Q6: 如何設定忽略檔案(如 ~$.docx、.tmp)?
- A簡: 以 svn:ignore 或全域忽略設定,排除暫存檔與快取,保持提交乾淨專注。
- A詳: 步驟:1) 目錄右鍵→ TortoiseSVN → Properties → 新增 svn:ignore,輸入模式:~$.docx、.tmp、*.bak。2) 或在 TortoiseSVN 設定中 Global Ignore 加入常見暫存檔。3) 更新狀態檢查未追蹤清單是否乾淨。注意:避免忽略真實需版控檔;專案層(svn:ignore)與個人層(Global)分工清晰。
- 難度: 初級
- 學習階段: 核心
- 關聯概念: C-Q3, B-Q2, D-Q3
C-Q7: 如何用 Branch 管理不同客戶的 PPT?
- A簡: 以 trunk 維護通用版,為各客戶開 branch 修改;共通改善再挑選合併回主線。
- A詳: 步驟:1) 在 trunk 維護通用簡報。2) 右鍵 TortoiseSVN → Branch/Tag,為 A 客戶建立 branches/A。3) 在 branches/A 上客製調整。4) 共通改善以 TortoiseSVN → Merge 指定範圍合併回 trunk;trunk 新增內容也反向合併至分支。注意:提交訊息標註客戶與需求編號,維持可追蹤性。
- 難度: 中級
- 學習階段: 進階
- 關聯概念: B-Q3, B-Q10, D-Q2
C-Q8: 如何啟用 VisualSVN Web 瀏覽與權限?
- A簡: 在主控台建立使用者/群組、設定路徑權限,確認 Web 可瀏覽儲存庫與下載檔案。
- A詳: 步驟:1) 開啟 VisualSVN Server Manager。2) 建立 Users/Groups。3) 在 Repository 的 Security 設定讀/寫權限。4) 啟用/確認 HTTP(S) 端點,瀏覽 https://server/svn/Repo。5) 測試用戶可見性。注意:使用 HTTPS、強密碼、限制匿名;若外網存取,配置反代與防火牆白名單。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q4, A-Q18, D-Q1
C-Q9: 如何強化備份:hotcopy 與二層快照?
- A簡: 定期執行儲存庫 hotcopy/dump,另以影子複製或壓縮檔作二層備援。
- A詳: 步驟:1) 使用命令列 svnadmin hotcopy D:\Repo D:\Backup\Repo-YYYYMMDD 或 svnadmin dump。2) 設排程每日/每週執行。3) 搭配系統影子複製或 7-Zip 差異備份,將備份同步至異地(NAS/雲端)。注意:驗證備份可還原(svnadmin verify),保護金鑰與密碼。
- 難度: 中級
- 學習階段: 進階
- 關聯概念: A-Q16, B-Q9, D-Q9
C-Q10: 如何最佳化 USB 寫入壽命與效能?
- A簡: 減少頻繁寫入,改在本機編輯後批次提交;開啟快取、壓縮與忽略暫存檔。
- A詳: 作法:1) 大量編輯改存本機暫存資料夾,完成後搬回 USB 再提交。2) 設定忽略暫存與快取檔,避免無謂寫入。3) 使用較高速 USB 與啟用寫入快取。4) 定期壓縮舊資料、歸檔分支。注意:避免未安全移除即拔除;重要專案可考慮本機工作副本 + USB 僅備份。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: D-Q10, C-Q6, A-Q13
Q&A 類別 D: 問題解決類
D-Q1: 忘了帶 USB 隨身碟怎麼辦?
- A簡: 透過 VisualSVN Web 介面連回伺服器下載檔案,或在臨時電腦檢出特定資料夾。
- A詳: 症狀:出門未攜 USB,需立即取檔。原因:單點依賴裝置。解法:1) 以瀏覽器連 https://server/svn/Repo,瀏覽目錄並下載所需版本。2) 若可安裝 TortoiseSVN,臨時檢出到本機使用。預防:啟用 HTTPS、強密碼,關鍵資料在伺服器保留副本;養成提交習慣,確保最新版本已在儲存庫。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q18, C-Q8, A-Q13
D-Q2: 離線修改回來提交出現衝突怎麼處理?
- A簡: 先更新取得最新版本,使用比較工具解衝突,測試後提交;改採小步頻繁提交降低風險。
- A詳: 症狀:Update 後檔案標示為衝突。原因:同檔同區塊被他人或自己不同副本更動。步驟:1) 右鍵→ Edit conflicts,檢視 .mine 與版本差異。2) 手動合併或取其一,標記 resolved。3) 測試文件完整性與格式。4) Commit 並註記原因。預防:外出前先更新、返工小步提交、重要分支分開處理。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q3, C-Q4, C-Q7
D-Q3: 開了 Word/PPT 才要鎖檔導致唯讀(VSS)怎麼辦?
- A簡: VSS 需先 check-out 才能改,建議改用 SVN 的編輯後提交模式,避免流程中斷。
- A詳: 症狀:文件已開啟唯讀,後補 check-out 仍無法寫入。原因:VSS 的鎖定流程要求先行操作,文書情境不友善。解法:關閉重開、先 check-out 再編輯。預防/替代:採用 SVN,允許先編輯後提交;或以檔案複本臨時修改,回頭再整合。此問題突顯 VSS 對文書的流程負擔。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q14, A-Q8, C-Q6
D-Q4: TortoiseSVN 右鍵選單或圖示消失怎麼辦?
- A簡: 檢查是否為受版控路徑、重新安裝外殼擴充、確認圖示快取設定與 .svn 完整性。
- A詳: 症狀:檔管無 SVN 圖示或選單。原因:非工作副本路徑、.svn 遺失、外殼掛鉤異常。步驟:1) 確認該資料夾為工作副本。2) TortoiseSVN 設定→ Icon Overlays 檢查排除路徑。3) 重啟 Explorer 或重裝 TortoiseSVN。4) 若 .svn 損壞,重新檢出。預防:勿手動刪 .svn;避免安全性軟體誤刪。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q2, D-Q7, C-Q2
D-Q5: USB 在不同電腦變換磁碟代號導致路徑異常?
- A簡: 因 .svn 綁儲存庫 URL 與狀態,路徑變動不影響;若搬移失敗則以 Relocate/Checkout。
- A詳: 症狀:換機插入後擔心路徑不同。原因:Windows 指派盤符不同。解法:大多情況可直接用,因工作副本依 .svn 識別,不依盤符。若儲存庫 URL 變更,使用 TortoiseSVN → Relocate;若 .svn 損壞,重新檢出。預防:避免用同步工具搬移 .svn;以 SVN 操作維持一致。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q17, B-Q8, C-Q2
D-Q6: SVN 操作速度慢有哪些原因與改善?
- A簡: 網路延遲、伺服器效能與大型二進位檔造成;用 HTTP(S)、差分提交與排除暫存可改善。
- A詳: 症狀:更新/提交耗時。原因:網路品質差、伺服器 I/O 忙、大型二進位或暫存檔干擾。解法:1) 優先 HTTP/HTTPS 協定。2) 設定忽略暫存與巨型檔。3) 拆分資料夾、減少無謂檔案。4) 伺服器端用 SSD、調整備份排程。預防:規劃資料結構、小步提交、離峰時段操作。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q4, C-Q6, C-Q10
D-Q7: 誤刪 .svn 或工作副本損壞怎麼辦?
- A簡: 無法辨識版控狀態時,重新檢出最穩妥;若有改動未提交,先備份再嘗試手動合併。
- A詳: 症狀:版本狀態遺失、圖示消失、操作錯誤。原因:手動刪 .svn 或同步工具破壞。步驟:1) 先備份當前檔案。2) 重新 Checkout 到新資料夾。3) 比對差異,手動合併未提交改動。4) 提交並恢復正常流程。預防:避免同雲端同步工具同時管理工作副本;以 SVN 為唯一真實來源。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q2, C-Q3, C-Q5
D-Q8: 影子複製快照找不到想要版本怎麼辦?
- A簡: 快照非語義版本,建議以 SVN 管理精確歷史;快照僅作二層災復保護。
- A詳: 症狀:快照存在但無所需修訂。原因:快照依排程生成,與實際變更時間不一致。解法:改以 SVN 作主版本控管,提交即保存語義與差異;快照作整體災復。若需臨時還原,先試 SVN 回復單檔版本,避免整體回退。預防:養成提交註記習慣,降低回溯成本。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q20, A-Q16, C-Q9
D-Q9: Repository 損毀或磁碟壞軌如何復原?
- A簡: 以 hotcopy/dump 還原,事前定期備份與驗證;如無備份,嘗試 svnadmin recover。
- A詳: 症狀:儲存庫不可讀或錯誤頻發。原因:硬碟故障、強制斷電、檔案系統損壞。步驟:1) 若有備份,建立新 Repo 後以 hotcopy/dump/load 還原。2) 無備份時使用 svnadmin recover 嘗試修復。3) 檢查硬體 SMART、遷移至可靠儲存。預防:排程 hotcopy、verify、異地備份、UPS 供電。
- 難度: 高級
- 學習階段: 進階
- 關聯概念: C-Q9, B-Q4, D-Q6
D-Q10: 隨身碟遺失的安全性風險如何降低?
- A簡: 使用 HTTPS 與伺服器權限控管、USB 加密、最小化本地明文,確保資料不外洩。
- A詳: 症狀:USB 遺失可能造成資料外洩。原因:工作副本包含明文檔案。解法:1) 將敏感資料留在伺服器,USB 僅放必要文件。2) 啟用磁碟或容器加密(BitLocker/Veracrypt)。3) 以 HTTPS、強密碼與權限限制存取伺服器。預防:定期清理 USB、分級存放與最小權限原則。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: C-Q10, C-Q8, A-Q18
學習路徑索引
- 初學者:建議先學習哪 15 題
- A-Q1: 什麼是版本控制系統(VCS)?
- A-Q2: 什麼是 SVN(Subversion)?
- A-Q6: 為什麼個人文件也需要版本控制?
- A-Q12: 什麼是 Working Copy(工作副本)?
- A-Q11: 什麼是 Repository(儲存庫)?
- A-Q7: SVN 與 VSS(Visual SourceSafe)有何差異?
- A-Q8: Edit-Merge-Commit 與 Lock-Modify-Commit 差在哪?
- A-Q13: 為什麼 USB Disk + SVN 適合個人檔案?
- A-Q14: 為何不建議用 VSS(微軟版)管個人檔案?
- A-Q18: 什麼是異地存取?為何重要?
- C-Q2: 如何在 USB 隨身碟建立可攜的工作副本?
- C-Q3: 如何用 TortoiseSVN 進行新增、提交與回復?
- C-Q4: 無網路時如何編輯並回公司後提交?
- D-Q1: 忘了帶 USB 隨身碟怎麼辦?
- D-Q3: 開了 Word/PPT 才要鎖檔導致唯讀(VSS)怎麼辦?
- 中級者:建議學習哪 20 題
- B-Q1: SVN 的運作流程如何?
- B-Q2: TortoiseSVN 如何追蹤工作副本狀態(.svn)?
- B-Q3: SVN 如何偵測衝突並合併?
- B-Q4: VisualSVN Server 的連線與架構為何?
- B-Q7: SVN 如何支援離線工作?
- B-Q8: 伺服器資訊綁目錄如何實現可攜?
- A-Q16: 為何說 SVN 比一般備份更精確?
- A-Q17: 為何讓伺服器資訊跟著目錄(.svn)很重要?
- A-Q20: 用影子複製(VSS)當版本控制有何限制?
- C-Q1: 如何在 Windows 上快速架設 VisualSVN Server?
- C-Q5: 如何從 VSS/影子複製遷移到 SVN?
- C-Q6: 如何設定忽略檔案(如 ~$.docx、.tmp)?
- C-Q7: 如何用 Branch 管理不同客戶的 PPT?
- C-Q8: 如何啟用 VisualSVN Web 瀏覽與權限?
- C-Q9: 如何強化備份:hotcopy 與二層快照?
- C-Q10: 如何最佳化 USB 寫入壽命與效能?
- D-Q2: 離線修改回來提交出現衝突怎麼處理?
- D-Q4: TortoiseSVN 右鍵選單或圖示消失怎麼辦?
- D-Q5: USB 在不同電腦變換磁碟代號導致路徑異常?
- D-Q6: SVN 操作速度慢有哪些原因與改善?
- 高級者:建議關注哪 15 題
- B-Q5: 影子複製的 COW 與快照流程怎麼運作?
- B-Q6: 為何 VSS(微軟版)跨網路效能差?
- B-Q9: 差異備份與版本控管有何技術差別?
- B-Q10: 如何用分支/合併管理不同客戶版本?
- A-Q5: 什麼是 TFS(Team Foundation Server)?
- A-Q15: 為何 TFS 不適合個人檔案管理?
- D-Q7: 誤刪 .svn 或工作副本損壞怎麼辦?
- D-Q8: 影子複製快照找不到想要版本怎麼辦?
- D-Q9: Repository 損毀或磁碟壞軌如何復原?
- D-Q10: 隨身碟遺失的安全性風險如何降低?
- C-Q7: 如何用 Branch 管理不同客戶的 PPT?
- C-Q9: 如何強化備份:hotcopy 與二層快照?
- C-Q10: 如何最佳化 USB 寫入壽命與效能?
- A-Q9: 什麼是 Copy-on-Write(COW)?
- A-Q10: 什麼是快照(Snapshot)?