起因:
由於項目中的IDE Jdeveloper在某些指定目錄下面會生成server.xml以及common文件夾,且包含一個名為bc4j.xcfg的文件,每次當IDE設置發生變化,或者新建某些目錄,這些文件都會被修改或者新增,而我不願意將這些變化體現在SVN提交列表中.
正如SVN官方指南所言:如果你不小心添加了一些應該被忽略的文件,你如何將它們從版本控制中去除而不會丟失它們?或許你有自己的IDE配置文件,不是項目的一部分,但將會花費很多時間使之按照自己的方式工作。(忽略文件和目錄,忽略已經版本控制的文件)
不能忽略已添加至SVN的文件或目錄,若要忽略,只能選擇刪除重新添加並以新增文件的方式被忽略。
正如官方指南所言:
由於項目中存在的server.xml以及common/bc4j.xcfg文件多而且分布復雜,一個個取取消並添加至忽略列表太麻煩,於是將整個過程分成了兩步.
1.取消版本控制.
a.使用batch腳本刪除本地的server.xml以及common/bc4j.xcfg(工作環境在window下)
腳本如下:
@REM ######################################################### @REM Name: 遞歸刪除指定的目錄,請把此文件放在你希望執行的那個目錄 @REM Desciption: @REM Author: HONGBO @REM Date: 2016-03-06 @REM Version: 1.1 @REM Copyright: Up to you. @REM YOUR FILE PATH 中不能包含中文,否則便會直接遍歷delCommon.bat腳本所在的磁盤 @REM ######################################################### @echo on setlocal enabledelayedexpansion @REM 設置你想刪除的目錄 @REM YOUR FILE PATH 中不能包含中文,否則便會直接遍歷delCommon.bat腳本所在的磁盤 set folder_path=YOUR_FILE_PATH cd %folder_path% set WHAT_SHOULD_BE_DELETED=common for /r . %%a in (!WHAT_SHOULD_BE_DELETED!) do ( if exist %%a ( echo "delete"%%a rd /s /q "%%a" ) ) @REM /s 遞歸 @REM /q 靜默 @REM call 與 不call都行 call del server.xml /s pause
b.提交刪除,排除需要保留的文件
2.添加至忽略列表
在根目錄建立server.xml 和common目錄,此時有兩種忽略方式,
i.本地忽略方式,不體現到整個SVN項目團隊中.
使用SVN客戶端的全局忽略樣式 ,右鍵->設置->全局忽略樣式 ,此時該兩種文件仍然以問號文件的樣式顯示,但是在SVN提交時,這些文件會被忽略,不會體現在未控制版本的文件列表中.
ii.全局忽略方式,即服務端忽略方式,體現到整個SVN項目團隊中
右鍵->增加至忽略列表->server.xml(recursively),此種方式會與服務端同步,整個團隊的所有人將會同步此忽略,所有該兩種文件會以忽略圖標的樣式顯示.
如圖:
若是在某些特定情況下被忽略的的文件或文件夾仍然需要提交,只需要將此文件像普通文件一樣add, commit即可.