我刚开始使用SVN,我有一个在源代码管理下不需要的缓存目录。 如何忽略SVN的整个目录/文件夹?

我在OS X和命令行上使用Versions和TextMate 。


#1楼

设置父目录的svn:ignore属性:

svn propset svn:ignore dirname .

如果您有多个要忽略的内容,请按属性值中的换行符分隔。 在这种情况下,使用外部编辑器编辑属性值更容易:

svn propedit svn:ignore .

#2楼

设置svn:ignore 属性 。 大多数UI svn工具都有一种方法可以执行此操作以及链接中的命令行讨论。


#3楼

要略微扩展,如果您使用svn命令行工具执行此操作,则需要键入:

svn propedit svn:ignore path/to/dir

这将打开您选择的文本编辑器,然后键入'*'忽略其中的所有内容,并保存+退出 - 这将包括svn中的目录本身,但忽略其中的所有文件,忽略该目录,使用父路径,然后键入文件中的目录名称。 保存后,运行更新('svn up'),然后检查相应的路径。


#4楼

如果你正在使用像TortoiseSVN这样的SVN的前端,或者某种IDE集成,那么在同一菜单中也应该有一个忽略选项,就像提交/添加操作一样。


#5楼

如果您使用特定的SVN客户端TortoiseSVN ,那么在提交时,您可以选择右键单击项目并选择“添加到忽略列表”。


#6楼

如果项目目录名为/ Project,并且缓存目录名为/ Project / Cache,则需要在/ Project上设置subversion属性。 属性名称应为“svn:ignore”,属性值应为“Cache”。

有关属性的更多信息,请参阅Subversion手册中的此页面。


#7楼

杰森的回答将起到作用。 但是,不要将svn:ignore设置为“。”。 在缓存目录中,您可能希望在目录的svn:ignore属性中包含“cache”,以防缓存目录不总是存在。 我在一些“一次性”文件夹上这样做。


#8楼

在父目录上设置svn:ignore属性:

$ cd parentdir
$ svn ps svn:ignore . 'cachedir'

这将覆盖svn:ignore任何当前值。 您可以使用以下命令编辑值:

$ svn pe svn:ignore .

哪个会打开你的编辑器。 您可以添加多个模式,每行一个。

您可以使用以下方法查看当前值:

$ svn pg svn:ignore .

如果您使用的是GUI,则应该有一个菜单选项来执行此操作。


#9楼

这是一个示例目录结构:

\project\source\cache\other

project您会看到未添加缓存目录并显示为此目录。

> svn st
M  source
?  cache

要设置ignore属性,请执行

svn propset svn:忽略缓存。

其中svn:ignore是您正在设置的属性的名称, cache是属性的值,以及. 是您正在设置此属性的目录。 它应该是需要该属性的cache目录的父目录。

要检查设置了哪些属性:

> svn proplist
Properties on '.':svn:ignore

要查看svn:ignore的值:

> svn propget svn:ignore
cache

要删除先前设置的属性:

svn propdel svn:ignore

#10楼

由于您使用的是版本,实际上非常简单:

  • 浏览您签出的副本
  • 单击要忽略的目录
  • 在右侧的“忽略”框中单击“编辑”
  • 键入*。*以忽略所有文件(或* .jpg仅用于jpg文件等)

#11楼

观看你的尾随斜杠。 我发现在我的忽略设置文件中包含images/*并没有忽略./images/ 。 当我运行svn status -u它仍然显示? images ? images 。 所以,我只是将忽略设置更改为images ,没有斜线。 进行状态检查并将其清除。


#12楼

由于我花了一些时间试图让它工作,应该注意的是,如果文件已经存在于SVN中,则需要svn delete它们,然后编辑svn:ignore属性。

我知道这似乎很明显,但他们一直出现在? 在我的svn status列表中,当我认为它会在本地忽略它们。


#13楼

首先删除它...

如果您的目录foo已经受版本控制,请先删除它:

svn rm --keep-local foo

......然后忽略:

svn propset svn:ignore foo .

#14楼

“谢谢” svn因为这种隐藏,虚假和难以忽略文件的方式。

所以我写了一个脚本svn-ignore-all :

#!/bin/sh# svn-ignore-all# usage:
#   1. run svn status to see what is going on at each step
#   2. add or commit all files that you DO want to have in svn
#   3. remove any random files that you don't want to svn:ignore
#   4. run this script to svn:ignore everything marked '?' in output of `svn status`svn status |
grep '^?' |
sed 's/^? *//' |
while read f; dod=`dirname "$f"`b=`basename "$f"`ignore=`svn propget svn:ignore "$d"`if [ -n "$ignore" ]; thenignore="$ignore
"fiignore="$ignore$b"svn propset svn:ignore "$ignore" "$d"
done

另外,要忽略特定的文件/路径名列表,我们可以使用此变体svn-ignore 。 我想svn-ignore-all应该真的像xargs svn-ignore。

#!/bin/sh# svn-ignore# usage:
#   svn-ignore file/to/ignore ...for f; dod=`dirname "$f"`b=`basename "$f"`ignore=`svn propget svn:ignore "$d"`if [ -n "$ignore" ]; thenignore="$ignore
"fiignore="$ignore$b"svn propset svn:ignore "$ignore" "$d"
done

还有一件事:我倾向于用许多随机文件污染我的svn签出。 在提交时,我将这些文件移动到“旧”子目录中,并告诉svn忽略'old'。


#15楼

在失去了很多时间寻找如何做这个简单的活动后,我决定发布它并不难找到一个体面的解释。

首先让样本结构

$ svn st? 项目/主干/目标? 项目/主干/ myfile.x

1 - 首先配置编辑器,在mycase vim export SVN_EDITOR = vim中

2 - “svn propedit svn:ignore project / trunk /”将打开一个新文件,您可以在我们的案例类型“target”中添加您的文件和子目录保存并关闭文件并正常工作

$ svn st? 项目/主干/ myfile.x

谢谢。


#16楼

用Eclipse解决了下一个问题:

首先,将文件夹同步到项目:

团队 - >同步

在下一个视图团队视图中,您可以看到可以提交给SVN服务器的所有资源。

因此,选择要忽略的资源的资源文件夹,然后可以使用它来忽略它

团队 - >添加到svn:ignore

之后,在确认窗口中,选择第一个选项:“按名称忽略”。

例如,如果我想忽略目标文件夹及其.class资源,我将进行同步,并在同步视图中,我将选择目标文件夹。 在那之后,我会选择

team->添加

svn:ignore然后我将确认确认窗口中的第一个选项。


#17楼

保持SVN将无知的目标:

  1. 这将从存储库中删除文件,但保持目录在SVN控制下:

svn delete --keep-local path / directory_to_keep / *

  1. 然后设置忽略目录(和所有内容):

svn propset svn:忽略“*”path / directory_to_keep


#18楼

我有问题让嵌套目录被忽略; 我想忽略的顶级目录不会显示'svn status'但所有子目录都显示。 这对其他人来说可能是不言而喻的,但我想我会分享它:

例:

/树干

/主干/缓存

/主干/缓存/ subdir1

/主干/缓存/ subdir2

cd /trunk
svn ps svn:ignore . /cache
cd /trunk/cache
svn ps svn:ignore . *
svn ci

#19楼

...如果你想忽略多个目录(比如build/ temp/*.tmp文件),你可以分两步完成(忽略第一个并编辑ignore属性(参见其他答案)或者一个可写类似的东西

svn propset svn:ignore "build
temp
*.tmp" .

在命令行上。


#20楼

忽略多个条目的命令有点棘手,需要反斜杠。

svn propset svn:ignore "cache\
tmp\
null\
and_so_on" .

此命令将忽略当前目录中名为cachetmpnulland_so_on任何内容。


#21楼

Bash oneliner多次忽略:

svn propset svn:ignore ".project"$'\n'".settings"$'\n'".buildpath" "yourpath"

#22楼

感谢上面的所有贡献。 我想在忽略文件的同时从我的经验中分享一些额外的信息。


当文件夹已经在版本控制下

svn导入svn co文件后,我们通常第一次做什么。

所有运行时缓存,附件文件夹都将受版本控制。 所以,在svn ps svn:ignore之前 ,我们需要从存储库中删除它。

使用上面的SVN 1.5版,我们可以使用svn del --keep-local your_folder ,但对于早期版本,我的解决方案是:

  1. svn导出文件夹的干净副本(没有.svn隐藏文件夹)
  2. svn del the local和repository,
  3. svn ci
  4. 复制文件夹
  5. svn st并确认文件夹被标记为'?'
  6. 现在我们可以根据解决方案做svn ps

当我们需要忽略多个文件夹时

  • 在一个目录中,我有两个文件夹需要设置为svn:ignore
  • 如果我们设置一个,另一个将被删除。
  • 然后我们想知道我们需要svn pe

svn pe需要编辑文本文件,如果需要使用vi设置文本编辑器,可以使用此命令:

export SVN_EDITOR=vi
  1. 使用“o”,您可以打开一个新行
  2. 键入要忽略的所有文件夹名称
  3. 点击'esc'键退出编辑模式
  4. 输入 “:wq”,然后按Enter键保存并退出

该文件看起来像这样:

runtime
cache
attachments
assets

#23楼

重要提一下:

在命令行上你不能使用

svn add *

这也将添加被忽略的文件,因为命令行扩展* ,因此svn add认为您希望svn add所有文件。 因此请改用:

svn add --force .

如何忽略SVN目录?相关推荐

  1. grep如何忽略.svn目录,以及如何忽略多个目录

    grep如何忽略.svn目录,以及如何忽略多个目录 这是我在网上看到的文章,不过里面还有问题,我的不支持,需要更换架包 grep -r 'function_name' * (*表示当前目录下所有文件, ...

  2. SVN关于忽略xcuserdata目录

    SVN关于忽略xcuserdata目录,以iPhone Qzone工程为例 Xcode工程,xcuserdata目录一般位于blur.xcodeproj目录下面, eg: jonesduan-MacB ...

  3. svn 目录结构 trunk java_如何彻底删除SVN中的文件和文件夹(附恢复方法)

    这里假设SVN项目的目录为 /data/svn/project,我们想排除trunk/test.exe文件和trunk/notallowed/目录,操作步骤如下及执行的svn命令(在svn安装目录的b ...

  4. 如何搞定SVN目录的cleanup问题和lock问题

    最近在使用SVN的时候碰到一个问题,就是操作时由于粗心大意,在更新的过程中点击取消,使得该目录出现cleanup的操作提示. OK,按照cleanup提示操作后,又提示目录被lock... 网上有解决 ...

  5. 自动 更新SVN目录文件.bat

    将以下代码部分拷贝至 "自动 更新SVN目录文件.bat"保存,并放在需要常更新的SVN目录下 ==========自动 更新SVN目录文件.bat================ ...

  6. SVN目录结构及作用

    SVN规范 SVN目录规范 在visualSVN中创建仓库时,可以选择svn目录结构 Trunk 主干目录,此目录下的文件为基准文件 Branches 用于开发的分支目录 Tags 用于发布的版本目录 ...

  7. 删除(.svn)目录

    windows 平台: Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\De ...

  8. java 删除.svn_使用JAVA的程序删除项目中的SVN目录

    在项目中使用SVN进行版本控制总是会让项目文件中存在.svn文件,对于项目文件的copy有很大的困扰,因此就写了一个简单的删除.svn文件的小程序 public class SvnClean { /* ...

  9. 关于svn目录地址迁移

    今天安卓开发端发现svn无法上传,老衲上服务端看了下,是svn磁盘快满了. so,经过老衲的思考,决定将svn迁移到更大的磁盘文件目录下 如图,想迁移到99G的磁盘目录下. 拷贝svn目录到指定地址 ...

最新文章

  1. python在通信中的应用_基于Redis的进程间通信——在C++里使用python的深度学习模型...
  2. python2使用openpyxl_使用openpyxl for Python2.6有些困难
  3. leetcode 1047. Remove All Adjacent Duplicates In String | 1047. 删除字符串中的所有相邻重复项(Java)
  4. 定位系统服务器,android系统定位服务器地址
  5. rviz中的相关配置
  6. java 模糊查询 分页(自定义标签)
  7. 递归java程序_JAVA编程基础之递归结构
  8. @Controller与@RestController有何区别
  9. linux下mysql5.7以上my.cnf配置文件配置
  10. ff14离线查看客户端日志小技巧
  11. 计算机网络习题集_主打选择填空
  12. ExpandableListView 的使用
  13. 我在日本最大的房地产信息网站做重构
  14. oracle 如何修改表空间,ORACLE修改表空间方法
  15. discuz php单页,Discuz! X2 自定义单页面最简单方法
  16. 科普|新消费时代,Martech 永远的神?
  17. android 计步器 开发,Android计步器开发
  18. 转载:揭秘内容付费的三种商业模式(原作者:小马宋)
  19. 海康、大华IP摄像机RTSP地址及格式详解
  20. redis 交集、并集、差集

热门文章

  1. linux用户登录失败,锁定用户
  2. Servlet--ServletInputStream类,ServletOutputStream类
  3. 极限3秒钟,闪存能作什么?
  4. C++中的构造函数小结
  5. centos5 vnc安装配置
  6. Netbackup code 98错误实战解析
  7. selenium常用定位方式
  8. C#面向对象三大特性
  9. 将centos字符编码换成utf-8
  10. JQuery获取当前屏幕的高度宽度