Git 忽略和 Maven 目标

问题描述 投票:0回答:7

任何人都知道是否可以忽略 git 管理的文件结构中特定目录的所有实例。

我希望排除具有多个子模块的 Maven 项目中的所有“目标”文件夹。我知道我可以在顶级 .gitignore 中明确排除它们中的每一个,但我真的希望能够指定一个像 **/target/* 这样的模式,让它自动忽略子目录中的实例?

这可能吗?

git maven-2 version-control gitignore
7个回答
241
投票

根目录中的

.gitignore
文件适用于所有子目录。我的看起来像这样:

.classpath
.project
.settings/
target/

这是一个多模块 Maven 项目。所有子模块均使用 m2eclipse 作为单独的 Eclipse 项目导入。我没有更多的

.gitignore
文件。事实上,如果你查看 gitignore 手册页

.gitignore
文件中读取的模式 与路径位于同一目录中,或 在任何父目录中

所以这应该适合你。


116
投票

可以在

.gitignore
文件中使用模式。请参阅 gitignore 手册页。模式
*/target/*
应忽略任何名为 target 的目录及其下的任何内容。或者您可以尝试
*/target/**
忽略目标下的所有内容。


5
投票

正如 Abhijeet 的评论中已经指出的,你可以添加如下行:

/target/**

\.git\info\文件夹中的

排除
文件。

然后,如果您想删除远程存储库中的

target
文件夹,您需要首先从本地存储库中手动删除该文件夹,提交然后推送它。那是因为 git 会向您显示最初修改的目标文件夹的内容。


4
投票

在 gitignore 中添加以下行,从所有不需要的文件中

/target/
*/target/**
**/META-INF/
!.mvn/wrapper/maven-wrapper.jar

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

2
投票

我忽略了 git 中目标文件夹中的所有类。 在打开的 .gitignore 文件中添加以下行:

/.class

*/目标/**

它对我来说非常有效。尝试一下。


0
投票

对于

Spring Tool Suite
,将以下忽略资源添加到
.gitignore
文件并提交到存储库中

*.classpath
*.class
*.prefs
*.jar
*.lst
*.project
*.factorypath
*.original
target/
.settings/
.apt_generated
.sts4-cache
.springBeans

0
投票

对于多模块存储库,除了 @Gleidosn 答案之外,我还会添加以下表达式以考虑嵌套目标文件夹:

**/target/
© www.soinside.com 2019 - 2024. All rights reserved.