我创建了一个Eclipse项目,现在我想将它放在我的SVN存储库中。我应该把哪些文件放在忽略列表中?有许多文件我不知道它们用于什么。有.history,.root,.safetable,.log,.settings等文件夹,以及许多.index文件,还有一些.running文件。我可以把所有这些都忽略清单吗?你知道哪些扩展名/文件夹总是可以忽略吗?
感谢。
答案 0 :(得分:1)
答案非常依赖于您的项目。提交源代码是一件好事,但它会迫使新开发人员重新创建可能很痛苦的项目环境。如果你使用maven和m2eclipse插件只提交src
和pom.xml
是一个很好的方法,因为从src和pom.xml
重新创建Eclipse环境只需要几分钟。
另一方面,可以提交.classpath
和.project
,但也意味着额外的工作,例如从不直接使用外部jar,而是通过变量或用户库,等
答案 1 :(得分:1)
如果你有时间进行实验,为什么不检查所有内容,请同事检查项目,看看是什么引发了错误?如果您的同事没有像您那样组织她的硬盘驱动器,那么引用项目外部路径的任何内容都可能会失败。应将这些内容更改为引用变量,或者不将其置于版本控制之下。
让您的同事构建项目,按照其步调运行IDE,然后同步到存储库以查看更改的内容。应省略易失性文件,运行时日志和临时文件。应该包括任何使其他开发人员更容易设置项目并开始运行的东西。花时间进行实验将有助于您更好地了解项目的设置方式。
基本上,您希望避免检查从源派生的任何内容(如Java项目中的.class文件)或每个开发人员必须为其本地环境更改的任何内容,例如在项目目录外具有绝对引用的文件。我过去用于处理需要开发人员自定义的配置文件的一种方法是包含文件的副本,通常带有额外的注释,扩展名为.example。在自述文件或其他文档中明确说明需要自定义哪些示例文件以及该文件的“真实”名称应该是什么。还包括svnignore列表中的“真实”文件名,因此不会检入并覆盖每个人的本地自定义项。
要解决您的具体示例:
.history,.root,.safetable,.log, .settings ...和许多.index文件, 还有一些.running
.settings是你必须要试验的。如果您有所有开发人员需要遵循的设置(例如代码样式或格式指南),那么将这些设置置于版本控制之下会很方便,但某些其他设置可能并不适合所有开发人员。其他示例对我来说并不熟悉,可能是因为它们与我不使用的Eclipse项目相关联。
答案 2 :(得分:0)
我的第一个猜测是,任何名称以点开头的文件都不应该被版本化。最常见的此类文件是指与项目无关的Eclipse设置。
现在,Java项目中的.project和.classpath文件非常“依赖于项目”,我通常会将它们包括在内。
要获得更精确的答案,您应该指定您正在处理的项目类型。