svn svn取消ignore - 我如何忽略SVN的目录?




12 Answers

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

svn propset svn:ignore dirname .

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

svn propedit svn:ignore .

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

我在OS X和命令行上使用VersionsTextMate




重要的是要提到:

在命令行中,你不能使用

svn add *

这也会添加被忽略的文件,因为命令行扩展了* ,因此svn add认为您想要svn add所有文件。 因此,请改用此方法:

svn add --force .



要稍微扩展,如果你使用svn命令行工具来完成这项工作,你需要输入:

svn propedit svn:ignore path/to/dir

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




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

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

svn导入svn合并文件后,我们通常首次执行的操作。

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

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

  1. svn导出文件夹的干净副本(没有.svn隐藏文件夹)
  2. svn删除本地和存储库,
  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



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

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

在命令行上。




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

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

该命令将忽略当前目录中名为cachetmpnulland_so_on的所有内容。




Bash oneliner多重忽略:

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



贾森的回答将会诀窍。 但是,不要将svn:ignore设置为“。”。 在高速缓存目录中,如果高速缓存目录不总是存在,则可能需要在目录的svn:ignore属性中包含“高速缓存”。 我在一些“一次性”文件夹上做了这个。




保持SVN将忽略的目录:

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

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

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

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




设置svn:ignore this 。 大多数UI svn工具都有办法做到这一点,以及链接中的命令行讨论。




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




在花了很多时间寻找如何做这个简单的活动之后,我决定发布一个不错的解释。

首先让示例结构

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

1 - 先配置编辑器,在mycase vim中导出SVN_EDITOR = vim

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

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

谢谢。




Related