我想知道 Maven 项目中的哪些文件应该提交给 git。
我是想mvn clean
在提交之前执行,还是将某些文件添加到.gitignore
文件中?
我个人将 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
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
.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 标准目录布局也将帮助您更好地确定哪些是不需要的目录。
在提交之前执行 mvn clean 是一种好习惯,还是将某些文件添加到 .gitignore 文件中?
在提交之前执行mvn clean
根本不切实际。开发人员可能会忘记这一点,此外他们应该在每次提交时重建他们的项目。
正确的方法是使用.gitignore
指定要在跟踪中忽略的文件。只需提交它并推送到远程分支,所有开发人员都可以使用相同的规则。
我想知道 Maven 项目中的哪些文件应该提交给 git。
您想要提交/推送您想要版本/跟踪的文件。
但它非常广泛。你不能只为 Maven 制定规则。Maven 有一些特殊性(target
例如您想要忽略的文件夹),但您可能需要忽略更多的东西。
您通常希望提交/推送源代码和应用程序配置文件,例如pom.xml
构建中使用的任何配置文件,但您也可以添加任何其他类型的文件。例如,提交变更日志甚至是 word 文档(更罕见但可能)也可能是有效的。
通常,您不想提交的是以下文件:
target
Maven 中的文件夹,但根据您的 pom 配置,您也可以拥有其他文件夹)