问题描述
一般标准的maven webapp项目结构如下,请问下其中的.setting文件夹,.classpath文件,.project文件需要提交到git仓库吗?考虑到开发者用不同的IDE,是否如上所述文件都是eclipse的产物,我们版本仓库应该忽略?希望有洁癖的开发者提供一个标准的这类规范,谢谢!
|_.settings|_src| |_main| | |_java| | |_resources| |_test||_java||_resources|_target|_.classpath|_.gitignore|_.project|_pom.xml|_README.MD
问题解答
回答1:不需要。只要提交
src
pom.xml
README.MD
.gitignore
其他的文件都不需要也不应该被提交上来,否则很容易造成冲突。
提供个java的gitignore 模板:
### Java template*.class# 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.xmlhs_err_pid*### JetBrains template# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839# User-specific stuff:.idea/workspace.xml.idea/tasks.xml.idea/dictionaries.idea/vcs.xml.idea/jsLibraryMappings.xml# Sensitive or high-churn files:.idea/dataSources.ids.idea/dataSources.xml.idea/dataSources.local.xml.idea/sqlDataSources.xml.idea/dynamic.xml.idea/uiDesigner.xml# Gradle:.idea/gradle.xml.idea/# Mongo Explorer plugin:.idea/mongoSettings.xml## File-based project format:*.iws## Plugin-specific files:# IntelliJ/out/# mpeltonen/sbt-idea plugin.idea_modules/# JIRA pluginatlassian-ide-plugin.xml# Crashlytics plugin (for Android Studio and IntelliJ)com_crashlytics_export_strings.xmlcrashlytics.propertiescrashlytics-build.propertiesfabric.properties### Windows template# Windows image file cachesThumbs.dbehthumbs.db# Folder config fileDesktop.ini# Recycle Bin used on file shares$RECYCLE.BIN/# Windows Installer files*.cab*.msi*.msm*.msp# Windows shortcuts*.lnk### Maven templatetarget/pom.xml.tagpom.xml.releaseBackuppom.xml.versionsBackuppom.xml.nextrelease.propertiesdependency-reduced-pom.xmlbuildNumber.properties.mvn/timing.properties# ignore eclipse files.project.classpath.settings.metadata