我正在创建一个新的 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
目录包含在暂存和提交中。删除它,它会被忽略。