SVN 取消版本控制並新增至忽略列表
起因:
由於專案中的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即可.
***********轉摘:https://www.cnblogs.com/huanghongbo/p/5246569.html起因:
由於專案中的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即可.