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

起因:

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

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

  

  正如官方指南所言: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-04
@REM  Version: 1.0
@REM  Copyright: Up to you.
@REM #########################################################  

@echo on
setlocal enabledelayedexpansion  

@REM 设置你想删除的目录
set folder_path= you file root 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即可.

时间: 2024-10-05 21:46:27

SVN 取消版本控制并添加至忽略列表的相关文章

框架优化系列文档:SVN中非版本控制文件忽略上传的设置

对于SVN代码库,只应该上传源代码.资源文件等内容进行版本管理,通常编译后的二进制文件.程序包等生成产物是不应该放到SVN上做版本管理的.因此在svn的客户端工具中设置svn的属性:svn:ignore,使本地工作目录下的哪些目录或文件不用进行版本管理,这样在本地对这些内容进行添加.修改等操作时,SVN都会对其忽略. 优点:     1.减少SVN服务器中无用文件的数量.     2.保证每次下载源代码都可以重新编译,减少因为临时文件造成的编译错误.     3.避免开发人员误将不用版本管理的内

SVN (TortioseSVN) 版本控制之忽略路径(如bin、obj、gen)

在SVN版本控制时,新手经常会遇到这样的问题: 1.整个项目一起提交时会把bin . gen . .project 一同提交至服务器 2.避免提交编译.本地配置等文件在项目中单独对src.res进行提交,然而整个项目依然成有未提交文件状态 3.由于bin机制是删除其所有内容重新创建编译文件,造成svn冲突.异常 解决办法很简单: 情况一:创建项目初期 直接将bin.gen..project 等不需要提交和版本统一的文件加入 (去除版本控制并增加到忽略列表) ignore list 情况二:已经是

svn提交时强制添加注释

负责前端开发的同事提出需求,svn提交时必须添加注释,否则有可能不知道代码是谁提交的. 搭建svn服务器时,用的是CollabNetSubversionEdge.添加用户,管理工程权限都挺方便.让某个工程在提交时添加注释,需要在svn的hooks目录下,新建一个pre-commit的文件并给它可执行权限. 代码如下: #!/bin/bash REPOS="$1" TXN="$2" SVNLOOK=/local/csvn/bin/svnlook LOGMSG=$($S

如何将文件添加到忽略列表中

在使用CleanMyMac3的过程中,如果需要忽略某些文件的扫描,确定不需要清理该文件,为了让这些文件以后不会出现在扫描结果中,我们需要将文件添加到忽略列表中,那么你知道如何将文件添加到忽略列表中吗? CleanMyMac3扫描大型和旧文件(举例)结束后,点击"查看详情",查看所有即将删除的文件,找到需要忽略的文件并选中,然后点击"文件"--"添加到忽略列表中". 图一:添加到忽略列表中 出现对话框"您已经将一个项目添加到CleanMy

关于使用SVN上传、添加、删除文件

操作步骤 1. 本地建立仓库:在本地新建文件夹,右键 -> TortoiseSVN -> Create repository here: 2. 下载已有仓库:在本地新建文件夹,右键 -> Checkout -> 输入用户名密码.下载的文件路径: 3. 更新本地仓库:选中仓库,右键 -> SVN Update: 4. 上传本地文件:选中仓库,右键 -> SVN Commit: 5. 添加文件:选中文件,右键 -> TortoiseSVN -> add:出现加号

Ubuntu下SVN命令行递归添加目录文件(免去一个一个的添加 --force)

由于在Linux下一直没有找到好的svn工具(类似于TortiseSVN的).当然eSVN这些也不错,但就是使用上觉得还不是非常习惯.最终还是选择了svn原始的命令行工具来进行版本控制操作. 命令行的有些指令使用起来还是比较方便的.如svn checkout.svn commit这些命令基本上使不使用图形界面关系也不是很大.唯一比较麻烦的命令的就是svn add,因为新增加的文件会分步在不同的目录中,有些目录中的文件已经存在于受控的svn资料夹,而有些文件所在的目录都是新增的.简单的输入svn

Android studio如何使用SVN进行版本控制?

通过这两天对Android Studio的研究,终于搞通了Android Studio的基本操作及与SVN的相关关联操作(这样才能在公司的开发工作中使用):Google年底将会停止ADT插件的更新和支持,全面转向Android Studio(果然是自己的孩子啊),因此使用Android Studio进行安卓项目的开发也是大势所趋,项目得闲之时研究一下Android Studio的使用:Android Studio的基本编辑操作现在网上已经很多了,需要的可以找着看看,下面是这几天摸索出来的Andr

svn提交时强制添加注释 (转)

SVN提交时,如果没有注释,在查阅历史时,会非常不方便.因此我们需要有一个让程序员提交代码时,强制添加注释的规则.下面看看在SVN中怎么实现. 1. 推荐使用VisualSVN作为服务端(免费下载地址:http://www.visualsvn.com/).安装完毕后,打开VisualSVN Server管理器,在版本库上点击"属性",选择"Hooks"选项,选中"Pre-commit hook"后,点击"Edit".(如下图)

svn取消本地代码的修改

第一种情况:改动没有被提交(commit). 这种情况下,使用svn revert就能取消之前的修改. svn revert用法如下: # svn revert [-R] something 其中something可以是(目录或文件的)相对路径也可以是绝对路径. 当something为单个文件时,直接svn revert something就行了:当something为目录时,需要加上参数-R(Recursive,递归),否则只会将something这个目录的改动. 在这种情况下也可以使用svn