哪些NetBeans项目文件应该进入源代码管理?

时间:2009-08-12 16:56:25

标签: version-control netbeans project

我们通常将Eclipse用于特定的Java项目,但最近我将项目导入NetBeans以使用其对话框构建功能。

由于我可能会回到这里,我想将NetBeans项目文件存储到版本控制中。但是,我不想提交“我的”与“项目”的文件,即我自己设置的文件会与其他用户的文件冲突。

NetBeans在顶级项目区域中创建了以下结构:

nbbuild
nb-build.xml
nbproject
    <various files>
    configs
    private

显然nbbuild是构建输出,因此不会进入。nb-build.xml文件似乎很可能,大多数nbproject也是如此。但是,nbproject/private表明它是“我的”。偷看“configs”,我不清楚这是我的还是项目......

任何人都有一些指导方针吗?

5 个答案:

答案 0 :(得分:54)

NetBeans knowledge base article on project files & version control讨论了NetBeans项目文件,并提供了关于哪些文件是项目特定的松散建议(即可以通过版本控制共享),以及哪些是特定于用户的。

以下是版本控制部分:

  

如果项目已从版本控制系统中签出,则build(或nbbuild),dist(或nbdist)和{{1}不应该将文件夹签入该版本控制系统。

     

如果项目在CVS,Subversion或Mercurial版本控制系统下,则在导入项目时会为这些目录创建或更新相应的“忽略”文件。

     

虽然应忽略nbproject/private,但应将nbproject/private检入版本控制系统。 nbproject包含项目元数据,使其他用户无需先导入项目即可在NetBeans中打开项目。

答案 1 :(得分:19)

事实证明,Thomas和&amp; Petercardona在某种程度上是正确的。 NetBeans建议您仅导入源代码和/或文档。哦和 nbproject 文件夹,但不是* nbproject / private **文件夹。

来自NetBeans Knowledge Base article on importing Eclipse projects

  

版本控制注意事项

     

如果项目已退出a   版本控制系统,构建(或   nbbuild),dist(或nbdist)和   不应将 nbproject / private 文件夹签入该版本控件   系统

     

如果项目属于CVS,   Subversion或Mercurial版本   控制系统,适当的   创建或更新“忽略”文件   对于项目中的这些目录   是进口的。

     

虽然 nbproject / private 应该是   忽略,应检查 nbproject   进入版本控制系统。    nbproject 包含允许其他用户打开的项目元数据   NetBeans中的项目,而不必   首先导入项目。

答案 2 :(得分:2)

无。

只应将源代码文件,构建脚本和未自动生成的文档(例如,JavaDoc和Doxygen等工具的输出)检入存储库。不应签入项目文件,二进制文件和生成的文档等内容。

原因是双重的。首先,您不希望用自己的内容覆盖其他开发人员的项目设置。其次,其他开发人员可能没有使用与您相同的IDE(甚至根本不使用IDE),因此不要给他们提供超出他们构建(项目或其相关文档)或运行项目所需的任何内容。

答案 3 :(得分:2)

使用Netbeans 6.8测试时,只有project.xmlconfigurations.xml和主要的makefile('nbproject'目录的父目录中的可自定义的文件,具有前/后目标定义)必须通过存储库分发。所有其他文件将由Netbeans(Makefile-impl.mlMakefile-variables.ml,所有Makefile-$CONFPackage-$CONF.bash自动(重新)生成。显然,“私人”目录也应该被忽略。

答案 4 :(得分:0)

您也可以检查
https://github.com/github/gitignore/blob/master/Global/NetBeans.gitignore

此开源项目包含
有用的.gitignore模板的集合