任何人都知道是否可以忽略git管理的文件结构中特定目录的所有实例。
我希望排除具有多个子模块的maven项目中的所有“目标”文件夹。我知道我可以在顶级.gitignore中明确地排除它们中的每一个,但是我真的希望能够指定像** / target / *这样的模式来让它自动忽略子目录中的实例吗?
这可能吗?
答案 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/