【发布时间】:2021-02-07 11:54:03
【问题描述】:
我正在创建一个新的 Spring Boot 应用程序。我对.gitignore 模式非常熟悉,但我看到一些故意模板化的东西,上面有“意图”的味道。以下是由 Spring Initializr 在许多 IDE 中生成的。
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
...
...
build/
!**/src/main/**/build/
!**/src/test/**/build/
我相信这与 maven 的多模块项目功能有关,但 Initializr 应用程序不是多模块的(在开始时)。除此之外,我在这里读到什么?如果我对我认为正在陈述的内容进行了尝试,那是我不想做的事情(作为一般做法)。
“无论遇到什么都忽略
target/文件夹,但target文件夹 在顶层以下some/path/src/main/deeper/still/target/包括 那些。“哦,对 NetBeans
build/目录做同样的事情!”
这不太合理。为什么我会提交构建生成的目标内容?因此,我试图推断 Spring 工程师的意图。
更新
事实上,这正是它的作用,在根目录更深处包括target 或build 目录。 目的是什么?
mkdir -p some/path/src/main/deeper/still/target/
touch !$/test.txt
这个新的target 目录包含在暂存和提交中。删除它,它会被忽略。
【问题讨论】:
-
我对@987654334@ 的使用掩盖了意图,因为我还在否定排除语句中使用
target。我可能会发现意图使用了更合适的路径,即像src/main/com/target/api这样的包名称模式。我在下面的研究中注意到了这一点。
标签: git spring-boot gitignore spring-initializr