任何人都知道是否可以忽略 git 管理的文件结构中特定目录的所有实例。
我希望排除具有多个子模块的 Maven 项目中的所有“目标”文件夹。我知道我可以在顶级 .gitignore 中明确排除它们中的每一个,但我真的希望能够指定一个像 **/target/* 这样的模式,让它自动忽略子目录中的实例?
这可能吗?
根目录中的
.gitignore
文件适用于所有子目录。我的看起来像这样:
.classpath
.project
.settings/
target/
这是一个多模块 Maven 项目。所有子模块均使用 m2eclipse 作为单独的 Eclipse 项目导入。我没有更多的
.gitignore
文件。事实上,如果你查看 gitignore 手册页:
从
文件中读取的模式 与路径位于同一目录中,或 在任何父目录中….gitignore
所以这应该适合你。
可以在
.gitignore
文件中使用模式。请参阅 gitignore 手册页。模式 */target/*
应忽略任何名为 target 的目录及其下的任何内容。或者您可以尝试 */target/**
忽略目标下的所有内容。
正如 Abhijeet 的评论中已经指出的,你可以添加如下行:
/target/**
到\.git\info\
文件夹中的
排除文件。
然后,如果您想删除远程存储库中的
target
文件夹,您需要首先从本地存储库中手动删除该文件夹,提交然后推送它。那是因为 git 会向您显示最初修改的目标文件夹的内容。
在 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/
我忽略了 git 中目标文件夹中的所有类。 在打开的 .gitignore 文件中添加以下行:
/.class
或
*/目标/**
它对我来说非常有效。尝试一下。
对于
Spring Tool Suite
,将以下忽略资源添加到 .gitignore
文件并提交到存储库中
*.classpath
*.class
*.prefs
*.jar
*.lst
*.project
*.factorypath
*.original
target/
.settings/
.apt_generated
.sts4-cache
.springBeans
对于多模块存储库,除了 @Gleidosn 答案之外,我还会添加以下表达式以考虑嵌套目标文件夹:
**/target/