Maven项目中的哪些文件应提交给git?

时间:2018-08-10 19:16:01

标签: java git apache maven mvn-repo

我想知道Maven项目中的哪些文件应该提交给git。

我是否想在提交之前执行mvn clean,还是将某些文件添加到.gitignore文件中?

3 个答案:

答案 0 :(得分:5)

我个人将Maven gitignore和Java gitignore用于Maven项目。您可能需要使用Maven项目中使用的语言进行调整。

https://github.com/github/gitignore/blob/master/Maven.gitignore

target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar

https://github.com/github/gitignore/blob/master/Java.gitignore

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
  

在提交之前执行mvn clean是一种很好的做法,还是将某些文件添加到.gitignore文件中?

首先将规则添加到.gitignore文件中,这使Git可以正确忽略不想要的文件。了解Maven standard directory layout还可以帮助您更好地确定哪些目录是不需要的目录。

答案 1 :(得分:3)

检查:

https://www.gitignore.io/api/maven

通常,您应该忽略所有目标和元数据。如果您忽略目标,则在推送之前不需要mvn clean

答案 2 :(得分:3)

  

在提交之前执行mvn clean是一种好的做法,还是我   将某些文件添加到.gitignore文件?

在提交之前执行mvn clean根本不可行。开发人员会忘记这一点,此外,他们还应该在每次提交时重新构建项目。
正确的方法是使用.gitignore指定跟踪中要忽略的文件。只需提交并推送到远程分支,所有开发人员都可以使用相同的规则。

  

我想知道Maven项目中应提交哪些文件   git。

您要提交/推送要版本/跟踪的文件。
但这是非常广泛的。您不能只为Maven制定规则。 Maven具有一些特殊性(例如,您要忽略的文件夹target),但是您可能还有更多要忽略的事情。
通常,您要提交/推送源代码和应用程​​序配置文件,例如pom.xml或构建中使用的任何配置文件,但您也可以添加任何其他类型的文件。例如,提交变更日志或什至是word文档(更为罕见但可能)也可能是有效的。
通常,您不想提交的文件是:

  • 取决于开发人员机器(IDE,自定义文件)
  • 由构建操作创建(Maven中的target文件夹,但根据pom配置,您还可以拥有其他文件夹)
  • 在构建,应用程序执行或发布操作期间使用的临时文件。
  • 档案