NetBeans Java项目的.gitignore文件中应该包含什么?


90

netbeans中的Java项目的.gitignore文件的内容应该是什么?


1
这也取决于您正在开发的OS,大多数Mac开发人员都将其包括进来,.DS_Store因为它是由OS X生成的,位于大多数目录中,对您的应用程序来说是多余的。
格雷格(Greg K)2010年

我在Windows中开发。有问题的我是指某些特定文件,例如.DS_Store。例如,我应该在.gitignore中包含构建文件夹吗?
thuaso 2010年

Answers:


65

有很多文件可能不需要提交到git中,因为它们是内置文件,由NB生成或包含特定于环境的信息。

如果您创建一个使用Ant作为构建机制的项目,则通常会得到一个如下所示的目录树...

project-root-directory/
+ nbproject/
  build-impl.xml
  + private/
  + project.properties
  + project.xml
+ src/
+ test/
+ build.xml

完成构建后..将有几个其他目录

project-root-directory/
+ build/
+ dist/
+ nbproject/
  build-impl.xml
  + private/
  + project.properties
  + project.xml
+ src/
+ test/
+ build.xml

您可能应该将build,dist和nbproject / private目录(及其子目录)放入.gitignore中。

如果要非常积极地排除文件,可以考虑排除nbproject EXCEPT project.properties和project.xml中出现的所有文件。打开项目时,NetBeans会重新生成nbproject目录中的其他文件。


4
一年前有人问了一个非常相似的问题,最佳答案指向的NetBeans知识库文章给出的答案与您的相似。
David J.

2
@DavidJames-现在断开链接
Jason S'S

@JasonS我的第一个链接仍然有效;我无法编辑第二个链接。的更多上下文是否可以解决注释中损坏的链接?模组可以编辑评论吗?
David J.

73
# NetBeans specific #
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml

# Class Files #
*.class

# Package Files #
*.jar
*.war
*.ear

1
请注意,这与托管在GitHub上的NetBeans .gitignore非常一致:github.com/github/gitignore/blob/master/Global/…– 2014
史蒂文

1
GitHub的NetBeans .gitignore允许.jar文件包含在存储库中。我怀疑这是最佳做法,但这确实使我的生活更轻松。
Neal Ehardt

...而且,就像.gitignoreNetBeans 的GitHub一样,它也不是完全正确的。请参阅stackoverflow.com/q/24139478/421049
Garret Wilson

3
将斜杠添加到要忽略的目录名称中。例如:“ / build /”而不是“ build /”。否则,如果目录结构中某处有一个名为“ build”的目录,它将被忽略,这可能不是您想要的。
邓肯

1

您的中应该没有特定于NetBeans的文件.gitignore。该.gitignore文件是具体项目,但开发者之间共享,督察应该只有东西在那里,是常见的与代码(包括使用OSX,Linux的而不是Windows和Eclipse的IntelliJ或记事本作为编辑的)工作的所有开发人员和这是特定的到项目中。

如果您要根据特定环境忽略某些文件(例如Windows Thumbs.dbdesktop文件或NeBeans nbproject目录),则应在全局忽略列表中执行此操作,而不是在特定于项目的操作中执行此操作.gitignore  -仅因为那样做,无需将它们分别添加到您的每个项目中。

如果您要忽略的文件既特定于您的环境又特定于项目,则将它们放入该存储库的中.git/info/exclude


2
为什么使用.git / info / exclude而不是项目.gitignore?如果放入.gitignore,会有什么好处/弊端?
安德鲁·伯恩斯

@Andrew Burns .gitignore和.git / info / exclude之间的区别在于,前者将被版本化(git跟踪更改),而后者则不会。我使用.gitignore,因为有时会更改忽略的内容,并希望将其与版本关联。我喜欢这里的示例.gitignore文件
艾文2011年

2
我不同意; 如果Eclipse用户检入适当的(例如,不是自动生成的)项目文件,则不会损害IntelliJ用户,反之亦然。当项目团队的一个成员需要与另一IDE一起工作时,它实际上可以提供帮助。(这可能在故障排除或配对编程过程中发生。)
David J.

1
nb-configuration.xml不应该被忽略。它旨在在开发人员之间共享。
DejanLekic 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.