自從使用SVN(Subversion)管理程式碼以後,對已經穩定的程式碼進行修改也就安心多了。不過,像是cache、tmp、或是像上傳目錄等這種時常變動,但跟專案本身沒有直接相關的檔案,一開始太開心直接import進SVN,結果有事沒事專案都變成驚嘆號(已修改),日子久了真是有點困擾。
前幾天終於受不了,決定好好研究一下,雖然已經 commit 的檔案不能移除,但是要將之取消,還是有辦法的。(這裡 client 用的是 TortoiseSVN 喔!)
如果檔案尚未commit,只要 TortoiseSVN -> Revert...就可以了:
雖然小弟用的版本改叫 Undo Add...(v1.5.7),其實本質上還是 Revert... ,請看左上角:

小弟早期用的1.4版還是叫 Revert... 喔。
雖然手冊上面說要把這個檔案加入忽略列表,不過小弟使用上覺得是沒差,只是會掛個問號,對於整個資料夾來說沒有影響。
如果已經提交入版本庫,那其實也很簡單:在欲取消的資料夾或檔案上,先按Shift不放(很重要!),再按滑鼠右鍵,這時會將隱藏選項全部呼叫出來,會多出我們這裡需要的 Delete (keep local),就是刪除檔案庫,保留本地備份 :
然後Commit,SVN就會建立一個新版本號,把伺服端的檔案或目錄刪掉。從此以後,這裡的檔案變動,再也不會影響你的綠色勾勾了^_____^。
如果你很想的話,也可以把這個目錄加到忽略清單裡面。不過我是覺得還好,所以沒有做這個動作。
補充說明一點:
如果取消管理的是資料夾的話,那個資料夾可能還是會掛著綠色的勾勾,原因是下面的.svn隱藏目錄沒有刪除。
直接用windows的搜尋,選「所有檔案和資料夾」,檔案名稱為 .svn ,尋找在該目錄以下的範圍。記得點開「進階選項」,把「尋找隱藏檔案和資料夾」選項打勾。然後把找到的.svn資料夾通通刪掉就對了。小心會找到其他的檔案,排序一下,就可以輕鬆選取 .svn 資料夾刪除囉。
