Git忽略和Maven目标

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

我正在寻找排除maven项目中的所有'目标'文件夹与一些submodules。 我知道我可以明确地排除它们中的每一个顶级.gitignore,但我真的希望能够指定一个像** /目标/ *这样的模式,让它自动忽略子目录中的实例?

这可能吗?

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

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

 .classpath .project .settings/ target/ 

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

从path相同的目录或任何父目录中.gitignore文件中读取模式…

所以这应该为你工作。

正如Abhijeet在评论中已经指出的那样,您可以添加如下行:

 /target/** 

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

然后,如果你想摆脱你的远程仓库中的target文件夹,你需要先从本地仓库手动删除这个文件夹,提交然后再推送它。 那是因为git会首先显示目标文件夹的内容。