55

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

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

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

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

显然nbbuild是构建输出,因此不会进入。该nb-build.xml文件似乎很可能,大多数nbproject. 然而,nbproject/private暗示它是“我的”。偷看“配置”,我不清楚这是我的还是项目......

有人有一些指导方针吗?

4

5 回答 5

57

有关项目文件和版本控制的NetBeans 知识库文章讨论了 NetBeans 项目文件,并就哪些文件是项目特定的(即可以通过版本控制共享)以及哪些是用户特定的文件提出了松散的建议。

以下是版本控制部分:

如果项目已从版本控制系统中签出,则build(or nbbuild)、dist(or nbdist) 和nbproject/private文件夹不应签入该版本控制系统。

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

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

于 2009-08-12T17:32:37.697 回答
19

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

来自有关导入 Eclipse 项目的 NetBeans 知识库文章

版本控制注意事项

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

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

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

于 2009-08-25T12:26:52.527 回答
2

没有任何。

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

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

于 2009-08-12T17:01:02.080 回答
2

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

于 2009-12-20T01:09:22.797 回答
0

您还可以查看
https://github.com/github/gitignore/blob/master/Global/NetBeans.gitignore

这个开源项目包含一组
有用的.gitignore模板

于 2019-01-12T19:03:19.190 回答