对Grails .gitignore的建议

jam*_*man 28 git grails

到目前为止,我收集了以下内容:

*.iws
*.war
.classpath
.DS_Store
.project
.settings
/*.launch
/*.tmproj
/out/**
stacktrace.log
test/reports

还有其他建议吗?

Duš*_*ský 66

您可以使用以下命令自动生成Grails自动生成的.gitignore文件:

grails integrate-with  --git
Run Code Online (Sandbox Code Playgroud)

Grails 2.1.0在我的机器上生成了以下文件内容:

*.iws
*Db.properties
*Db.script
.settings
stacktrace.log
/*.zip
/plugin.xml
/*.log
/*DB.*
/cobertura.ser
.DS_Store
/target/
/out/
/web-app/plugins
/web-app/WEB-INF/classes
Run Code Online (Sandbox Code Playgroud)


Von*_*onC 15

5年后更新(2014年4月):

如下面的其他答案中所述,两个站点现在能够提供良好的默认.gitignore文件,包括Grails项目.


(原始答案,2009年1月)

只能添加/web-app/WEB-INF到您的列表中:这里是这样一个gitignore文件的完整示例.

# .gitignore for Grails 1.0.3

# web application files that are overwritten by "grails upgrade"
#  cf. GRAILS_HOME/scripts/Upgrade.groovy, target( upgrade )
/web-app/WEB-INF

# IDE support files that are overwritten by "grails upgrade"
#  cf. GRAILS_HOME/scripts/CreateApp.groovy, target( createIDESupportFiles )
# to be specific, you could replace "/*" below with your project name,
#  e.g. "foobar.launch" (no slash)
.classpath
.project
.settings
/*.launch
/*.tmproj

# logs
stacktrace.log
/test/reports

# project release file
*.war
Run Code Online (Sandbox Code Playgroud)

注意,如这里提到的那样:

  • build.xml 不属于该列表,因为grails不会覆盖它.
  • 日食点文件.classpath,.project以及.settings也将不如果它们存在覆盖,但他们可以先忽略不计.
  • 对于以前版本的Grail,您还需要(至少)一行 /plugins/core


Pie*_*ter 6

恕我直言,像.DS_Store和*.tmproj这样的东西不应该在项目.gitignore中,而应该在你自己的用户范围的忽略文件中,因为它们与项目无关,而只与在存储库中的工作方式有关.

否则,可以使用一个参数来包含来自Eclipse,vim,emacs,XCode,......的临时文件的忽略.