SVN 取消版本控制并添加至忽略列表

忽略已经版本控制的文件
忽略文件和目录

起因:

  由于项目中的IDE Jdeveloper在某些指定目录下面会生成server.xml以及common文件夹,且包含一个名为bc4j.xcfg的文件,每次当IDE设置发生变化,或者新建某些目录,这些文件都会被修改或者新增,而我不愿意将这些变化体现在SVN提交列表中.

  正如SVN官方指南所言:如果你不小心添加了一些应该被忽略的文件,你如何将它们从版本控制中去除而不会丢失它们?或许你有自己的IDE配置文件,不是项目的一部分,但将会花费很多时间使之按照自己的方式工作。(忽略文件和目录,忽略已经版本控制的文件)

        不能忽略已添加至SVN的文件或目录,若要忽略,只能选择删除重新添加并以新增文件的方式被忽略。

  

 

  正如官方指南所言:TortoiseSVN → Unversion and add to ignore list,取消版本控制并添加至忽略列表.

  由于项目中存在的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
posted @ 2019-01-09 14:44  Linybo2008  阅读(3355)  评论(0编辑  收藏  举报