Answers:
从Subversion 1.8开始,现在有一个svn:global-ignores
属性,其工作方式与svn:ignore
递归类似(因此请在顶级目录中进行设置)
global-ignores
该~/.subversion/config
文件,还有SVN存储库中某个目录上设置的可继承 svn:global-ignores
属性,以及svn:ignore
-您能否提供这些不同选项的摘要以及它们之间的比较方式?请问该--recursive
标志影响他们呢?
obj
文件夹仍然显示](stackoverflow.com/questions/50960188/…),您能帮我看看吗?
这是不可能的。Subversion中只有两种忽略机制,svn:ignore
(非递归的)和global-ignores
(不是特定于存储库的)。
添加到您的〜/ .subversion / config或/ etc / subversion / config文件中:
[miscellany]
global-ignores = build dist
例如文件夹结构:
Project/
Project/dist/
cd Project
svn propset svn:ignore '*' dist/
svn ci -m "content of dist ignored"
最好在ignore命令之前对dist内容进行svn删除,因此对于分支dist将为空。
为我工作,今天经过测试。 这是稍微解释一下的页面
为了忽略所有存储库中的所有此类文件,您可以global-ignores
在每个用户的配置文件中添加一个。
在类似Unix的系统上,该区域在用户的主目录中显示为名为.subversion的目录。在Win32系统上,Subversion通常在用户配置文件目录的Application Data区域内创建一个名为Subversion的文件夹。
请参阅配置选项
不幸的是,没有每个存储库的选项可以执行此操作。它基本上是按用户或按目录的,因此多重svn:ignores
方式可能是可行的方式,这可能会很烦人。
首先,您必须移至工作副本的顶部文件夹,并在此处创建一个文件(例如.svnignore),在该文件中应放置所有要忽略的模式,例如(对于Android项目):
bin
gen
proguard
.classpath
.project
local.properties
Thumbs.db
*.apk
*.ap_
*.class
*.dex
然后,运行以下命令(请记住,您必须位于工作副本的顶部文件夹中):
svn propset svn:ignore -R -F .svnignore .
这仅适用于尚未受版本控制的文件夹和文件。如果您还希望开始忽略要版本化的文件夹(或文件),请通过运行以下命令将其从版本控制中删除:
svn rm --keep-local <path>
从这篇很好的文章中获得了所有这些解释,这一切都可以:http : //superchlorine.com/2013/08/getting-svn-to-ignore-files-and-directories/
创建一个文件并将您的忽略项添加到其中
ingore列表:
file1
directory1
file2
etc...
然后应用以下命令
for n in directory; do svn propset svn:ignore -F ignore-list $n; done
directory是目录的名称,您也可以对目录/子目录进行子分类。或使用*记下当前目录。
这是假设您正在使用bash作为外壳
由于似乎没有解决这个可能常见的问题的方法,所以我想分享我们的解决方案。正如其他人已经明确指出的那样,您可以使用svn:ignore
属性,该属性适用于单个目录(因此不适用于新目录),也可以使用global-ignores
适用于单个用户的属性(但不属于存储库)。
为了简化工作,我创建了一个名为reg的reg文件Settings.Svn.reg
,并将其添加到存储库的根目录中。现在,每个人都可以一次双击此regfile,并完成设置。
REGEDIT4
[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"global-ignores"="obj *.suo *.bak *.pdb *.user *.Cache*"
我非常感谢SVN信息库中的解决方案,因此,如果有人知道,您是否愿意分享它?