Git Ignores和Maven目标

时间:2009-06-13 23:46:51

标签: git maven-2 version-control gitignore

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

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

这可能吗?

5 个答案:

答案 0 :(得分:209)

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

.classpath
.project
.settings/
target/

这是一个多模块maven项目。使用m2eclipse将所有子模块作为单独的eclipse项目导入。我没有其他.gitignore个文件。的确,如果你查看gitignore man page

  

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

所以这对你有用。

答案 1 :(得分:86)

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

答案 2 :(得分:4)

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

/target/**

在<{1}}文件夹中排除文件。

然后,如果您要删除远程仓库中的\.git\info\文件夹,则需要先从本地存储库手动删除此文件夹,然后提交然后再将其删除。那是因为git会首先显示目标文件夹的内容。

答案 3 :(得分:1)

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

/ .class

OR

* / target / **

它对我来说非常好用。试试吧。

答案 4 :(得分:1)

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