grails3.1.x 最好的 gitignore 应该是什么?

what should be the best gitignore for grails3.1.x?

自从 grails 3.1.x 有了重大变化,什么是合适的 .gitignore?

目前,我使用默认的 grails .gitignore

Grails 3.x 是用 gradle 构建的,许多用于旧 grails 版本的忽略条目不再需要。查看 gradle 的 .gitignore 文件,它只忽略了 '.gradle' 目录和 'build' 目录。它还确保不要忽略包装器 jar 文件。

嗯,这完全取决于您的技术手的选择,例如 idea 或 eclipse 以及许多其他此类组合。

因此,您的 .gitignore 文件将根据您实际不希望存储到存储库的内容而有所不同。

以下是一些这样的事情:

  1. 编译后生成的任何东西,例如插件、class 文件和构建工具特定数据等
  2. 任何不属于您的应用程序且仅由本地机器和工具用于开发和测试目的所需的任何内容,例如 .iml 文件或想法特定文件。 请记住,当我说不是您的应用程序的一部分时,意味着将 运行 成功独立于它可能需要从远程服务器下载某些内容的事实的最少内容。

也许这就是你的答案!

之前的帖子都给出了中肯的建议。这是来自 Grails 3 项目的 .gitignore 文件的一个很好的起点(请注意,我在此处排除的前 4 行是 IntelliJ 项目文件,may/may 不是您关心的问题):

*.iml
*.ipr
*.iws
.idea

.gradle
.asscache
build
out
logs
classes

我的团队通常使用不同的 OS (Win/Lin) 以及各种协作工具和编辑器。因此,我为我的团队使用 IntelliJ 开发了一个标准的 .gitignore,它在许多系统和编辑器上都能正常工作。这是:

# Created by .ignore support plugin (hsz.mobi)
### Grails template
# .gitignore for Grails 1.2 and 1.3
# Although this should work for most versions of grails, it is
# suggested that you use the "grails integrate-with --git" command
# to generate your .gitignore file.

# web application files
/web-app/WEB-INF/classes

# default HSQL database files
/prodDb.*
/devDb.*

# general HSQL database files
*Db.properties
*Db.script

# logs
/stacktrace.log
/test/reports
/logs

# project release file
/*.war

# plugin release files
/*.zip
/plugin.xml

# older plugin install locations
/plugins
/web-app/plugins

# "temporary" build files
/target
### Java template
*.class
*.asscache
# Mobile Tools for Java (J2ME)
.mtj.tmp/

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

# virtual machine crash logs, see     http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
### NetBeans template
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml
.nb-gradle/
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio

*.iml

## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:

# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries

# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml

# Gradle:
# .idea/gradle.xml
# .idea/libraries

# Mongo Explorer plugin:
# .idea/mongoSettings.xml

## File-based project format:
*.ipr
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
### Eclipse template
*.pydevproject
.metadata
.gradle
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath

# Eclipse Core
.project

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch


 # JDT-specific (Eclipse Java Development Tools)
.classpath

 # Java annotation processor (APT)
 .factorypath


 # Ignore Gradle GUI config
 gradle-app.setting

 # Avoid ignoring Gradle wrapper jar file (.jar files are usually  ignored)
!gradle-wrapper.jar
### SublimeText template
# cache files for sublime text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache

# workspace files are user-specific
*.sublime-workspace

# project files should be checked into the repository, unless a  significant
# proportion of contributors will probably not be using SublimeText
# *.sublime-project

# sftp configuration file
sftp-config.json
### Linux template
*~

# KDE directory preferences
.directory

# Linux trash folder which might appear on any partition or disk
.Trash-*
### Vim template
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
*.un~
Session.vim
.netrwhist