[英]svn ignore setting how-to?
我现在正在尝试将忽略文件列表设置为svn。 我确实尝试过这种方式。
svn propedit svn:ignore .
.project .cproject tags cscope.files cscope.out SICR2000_CPU_Ver0.04.25.tgz
通过这些设置,我的svn状态打印出如下所示。
svn status
M . M .cproject ~ tags M .project
看,我的忽略设置中的前3个文件不会被忽略!
.project .cproject tags
我想知道为什么在我svn状态时不会忽略这三个文件。 如何设置这三个文件被忽略?
Journeyer
您不能忽略存储库中已存在的文件。
忽略主要用于创建不希望意外放入存储库的文件。 例如,在C中,您可以从*.c
或Java中创建*.o
文件,从*.java
创建*.class
文件。 如果我将工作目录设置为忽略这些文件,则版本控制系统将不会报告它们。
想象一下这个设置:
$ svn st
M foo.txt
M bar.txt
? ignore.me
报告文件ignore.me
。 现在,我将忽略它:
$ svn ps svn:ignore 'ignore.me' .
$ svn st
M .
M foo.txt
M bar.txt
请注意,当我获取状态时, ignore.me
不再显示。 但是,我可以添加它:
$ svn add ignore.me
M .
M foo.txt
M bar.txt
A ignore.me
请注意,它显示在我的状态报告中。 那是因为它现在是存储库的一部分(或者一旦我做了提交)。 我们使用Java,所有构建的东西都在一个名为target
的目录下。 我们还有一个build.properties
文件,开发人员可以设置它来改变构建的工作方式。 但是,这是一个基于每个开发人员使用的文件,不应该检入我们的存储库。
因此,我将build.properties
和target
添加到我的svn:ignore
。 有时我会从项目中删除.project
和.classpath
,然后ignore
它们。 这些是应该基于每个开发人员设置的Eclipse文件。
如果您需要阻止人们检查特定文件的更改,甚至添加特定文件(这不仅是忽略,而是阻止任何人有意添加文件),您需要预先提交挂钩 。 这有助于强制执行您的设置并阻止用户进行不应进行的更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.