svn:忽略本地到电脑?

Red*_*eda 4 svn version-control

当我从SVN中排除文件svn:ignore然后另一个人尝试提交排除的文件时,svn阻止他?或者他必须在他的电脑里做同样的命令?

Dav*_* W. 5

想象一下,如果你有一堆Java文件(*.java).这些被编译成*.class文件.编译的*.class文件不应存储在Subversion中.

现在,想象一个开发人员创建了一堆新*.java文件,编译它们,对结果感到满意,并做到了这一点:

$ svn add *
Run Code Online (Sandbox Code Playgroud)

在这种情况下,Subversion将快乐地添加所有已编译的*.class文件.不是你想要的......

svn:ignore属性位于要忽略文件的目录中.如果且仅当文件尚未存在于Subversion中时,如果文件与文件上的svn:ignoreglob模式匹配,则文件将不会显示,并且用户使用外卡执行svn statussvn add使用外卡.

使用该svn status命令,这些文件将不会?在输出行的开头显示标记.如果用户尝试使用通配符添加,Subversion将忽略这些文件.

在上面的场景中,如果开发人员这样做:

$ svn add *
Run Code Online (Sandbox Code Playgroud)

svn:ignore属性将阻止*.class添加文件.

但是,如果用户专门添加了被忽略的文件:

$ svn添加foo.class

然后,Subversion不会忽略该文件.并且,一旦将其添加到存储库,Subversion将报告文件是否已更改或删除.

svn:ignore已检出该目录版本的所有用户都可以看到该属性.这是防止意外添加文件的好方法,但它不能阻止某人实际添加它们.

我有一个预先提交钩子,可以更进一步.有了它,您可以阻止用户将特定文件添加到存储库中.您还可以强制用户svn:ignore在创建新目录时进行设置.