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

z3yyvxxp  于 2022-11-10  发布在  其他
关注(0)|答案(6)|浏览(142)

我们通常将Eclipse用于特定的Java项目,但最近我将该项目导入到NetBeans中以使用其对话框构建功能。
因为我可能会回到这个问题上,所以我想将NetBeans项目文件存储到版本控制中。但是,我不想提交“我的”文件而不是“项目”文件,即,我自己的设置会与其他用户的设置冲突的文件。
NetBeans在顶级项目区域中创建了以下结构:

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

很明显nbbuild是构建输出,所以它不会进入。nb-build.xml文件看起来很有可能,就像大多数nbproject一样。然而,nbproject/private表明它是“我的”。偷看“配置”,我不清楚它是我的还是项目的...
有人有什么建议吗?

noj0wjuj

noj0wjuj1#

有关项目文件与版本控制得NetBeans知识库文章讨论了NetBeans项目文件,并提供了有关哪些文件是特定于项目得(即可以通过版本控制共享),哪些文件是特定于用户得粗略建议.
下面是有关版本控制的部分:
如果项目已从版本控制系统 checkout ,则不应将build(或nbbuild)、dist(或nbdist)和nbproject/private文件夹签入该版本控制系统。
如果项目位于CVS,Subversion或Mercurial版本控制系统下,则在导入项目时,将为这些目录创建或更新相应得“忽略”文件.
尽管应忽略nbproject/private,但应将nbproject签入到版本控制系统中. nbproject包含项目元数据,通过该元数据,其他用户可以在NetBeans中打开该项目,而不必先导入该项目.

jhiyze9q

jhiyze9q2#

在某种程度上,托马斯和Petercardona都是正确的。NetBeans建议您只导入源代码和/或文档。哦,还有 nbproject 文件夹,但不要导入 *nbproject/private**文件夹。
NetBeans Knowledge Base article on importing Eclipse projects

版本控制注意事项

如果项目已从版本控制系统 checkout ,则build(或nbbuild)、dist(或nbdist)和 nbproject/private 文件夹不应签入该版本控制系统。
如果项目位于CVS,Subversion或Mercurial版本控制系统下,则在导入项目时,将为这些目录创建或更新相应得“忽略”文件.
尽管应忽略 nbproject/private,但应将 nbproject 签入到版本控制系统中. nbproject 包含项目元数据,通过该元数据,其他用户可以在NetBeans中打开项目,而不必先导入项目.

vaj7vani

vaj7vani3#

没有。
只有源文件、构建脚本和非自动生成的文档(例如JavaDoc和Doxygen等工具的输出)才应该被签入到仓库中,而项目文件、二进制文件和生成的文档则不应该被签入。
原因有两个。首先,您不希望用自己的项目设置覆盖其他开发人员的项目设置。其次,其他开发人员可能没有使用与您相同的IDE(甚至根本没有IDE),因此不要给他们提供超出他们构建(项目或其相关文档)或运行项目所需的任何设置。

rta7y2nd

rta7y2nd4#

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

2g32fytz

2g32fytz5#

您还可以检查
https://github.com/github/gitignore/blob/master/Global/NetBeans.gitignore
此开放源代码项目包含
一个有用的.gitignore模板集合

raogr8fs

raogr8fs6#

Toptal提供了一个非常有用的工具,可以帮助开发人员了解.gitignore文件中应该包含哪些内容。
https://www.toptal.com/developers/gitignore
对于netbeans,只需搜索Netbeans,它应返回类似于以下内容的模板

**/nbproject/私有/
**/nbproject/生成文件-.mk
**/nbproject/封装-
.bash组建/

nbbuild/
距离/
nbdist/显示
. nb-分级/
将其复制并粘贴到项目目录中的.ignore文件中应该可以解决您的问题。

相关问题