Git Ignores 和 Maven 目标

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

我希望排除所有的“目标”文件夹在一个 maven 项目与一些子模块。我知道我可以明确地把它们排除在顶层。但是我真的希望能够指定一个类似 * */target/* 的模式,让它自动忽略子目录中的实例?

这可能吗?

184539 次浏览

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

根目录 是的中的 .gitignore文件适用于所有子目录:

.classpath
.project
.settings/
target/

这是一个多模块的 maven 项目。所有子模块都使用 m2eclipse 作为单独的 eclipse 项目导入。我没有其他 .gitignore文件了。事实上,如果你看看 Gitignore 手册页:

.gitignore文件读取的模式 在与路径相同的目录中,< em > 或 在任何父目录 ...

所以这个应该对你有用。

正如 Abhijeet 在评论中已经指出的那样,你只需要添加如下代码:

/target/**

\.git\info\文件夹中的 排除文件。

然后,如果你想摆脱这个 target文件夹在您的远程回购,你将需要首先手动删除这个文件夹从您的本地存储库,提交,然后推它。这是因为 git 首先会显示修改后的目标文件夹的内容。

我忽略 git 中位于目标文件夹中的所有类。 在 open. gitignore 文件中添加以下代码行:

类别

或者

*/目标/* *

对我来说很有效,试试看。

在 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/

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

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