Gitignore不适用于嵌套文件

时间:2018-03-27 18:53:05

标签: git gitignore

我有一个包含以下目录结构的仓库:

src/
    main/
        resources/
            application-local.properties
            application-local-db.properties
        java/
            <lots of source files here>
.gitignore

看起来像一个gitignore:

/.project
/target/
/bin/
/.settings/
/.classpath
/generated/
.idea
*.iml

我现在想将src/main/resources/application-local.*添加到我的gitignore中,因此对此文件的更改不会被提交/推送。所以我改变了我的gitignore:

/.project
/target/
/bin/
/.settings/
/.classpath
/generated/
.idea
*.iml
/application-local-memcached.properties
/application-local.properties

然后我对application-local.properties进行了一些更改,当我做git add . -n时,我看到git准备好进行改变! 为什么git不尊重我的gitignore更改而忽略对application-local.*的更改?

1 个答案:

答案 0 :(得分:2)

我假设.gitignore已经签入了回购邮箱。如果是,您必须将其删除(或在临时中复制它),提交删除文件,将您创建的副本重命名为原始文件名并发布src/main/resources/将开始忽略对该文件的更改。

或者,从Git的角度来看,src/main/resources/.gitkeep在技术上是空的,因为你希望Git忽略这些属性文件。 Git不允许将空目录添加到repo中,但如果您仍想保留此目录结构,请创建一个虚拟文件25/Oct/2011:01:41:00 -0500 ,以便您可以在repo中实际提交和维护该目录路径

相关问题