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

新手上路,请多包涵

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

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

原文由 tyleax 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

我个人将 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 标准目录布局 也将帮助您更好地确定哪些是不需要的目录。

原文由 Mincong Huang 发布,翻译遵循 CC BY-SA 4.0 许可协议

在提交之前执行 mvn clean 是好习惯,还是将某些文件添加到 .gitignore 文件?

在提交之前执行 mvn clean 根本不切实际。开发人员可以忘记这一点,此外他们应该在每次提交时重建他们的项目。

正确的方法是使用 .gitignore 指定在跟踪中忽略的文件。只需提交并推送到远程分支,所有开发人员都可以使用相同的规则。

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

您想要提交/推送您想要版本/跟踪的文件。

但范围很广。你不能只为 Maven 制定规则。 Maven 有一些特殊性( target 文件夹,例如你想忽略的)但你可能有更多的东西要忽略。

您通常希望提交/推送源代码和应用程序配置文件,例如 pom.xml 或构建中使用的任何配置文件,但您也可以添加任何其他类型的文件。例如,提交一个变更日志甚至一个 word 文档(更罕见但可能)也可能是有效的。

通常您不想提交的文件是:

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

原文由 davidxxx 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题