Gitignore 不适用于嵌套文件
Gitignore not working for nested files
我有一个目录结构如下的仓库:
src/
main/
resources/
application-local.properties
application-local-db.properties
java/
<lots of source files here>
.gitignore
还有一个 git忽略看起来像:
/.project
/target/
/bin/
/.settings/
/.classpath
/generated/
.idea
*.iml
我现在想将 src/main/resources/application-local.*
添加到我的 git 忽略中,这样对此文件的更改不会得到 committed/pushed。所以我将 gitignore 更改为:
/.project
/target/
/bin/
/.settings/
/.classpath
/generated/
.idea
*.iml
/application-local-memcached.properties
/application-local.properties
然后我对 application-local.properties
做了一些更改,当我执行 git add . -n
时,我看到 git 准备好进行更改! 为什么 git 不尊重我的 git忽略更改以忽略对 application-local.*
的更改?
我假设 application-local.properties
已经 checked-in 到 repo。如果是,您必须将其删除(或在此期间制作一个副本),提交删除文件,将您创建的副本重命名为原始文件名和 post .gitignore
将开始忽略对该文件的更改。
或者,从 Git 的角度来看,src/main/resources/
在技术上是空的,因为您希望 Git 忽略那些 属性 文件。 Git 不允许将空目录添加到 repo,但如果您仍想保留此目录结构,请创建一个虚拟文件 src/main/resources/.gitkeep
以便您可以实际提交和维护该目录路径回购。
我有一个目录结构如下的仓库:
src/
main/
resources/
application-local.properties
application-local-db.properties
java/
<lots of source files here>
.gitignore
还有一个 git忽略看起来像:
/.project
/target/
/bin/
/.settings/
/.classpath
/generated/
.idea
*.iml
我现在想将 src/main/resources/application-local.*
添加到我的 git 忽略中,这样对此文件的更改不会得到 committed/pushed。所以我将 gitignore 更改为:
/.project
/target/
/bin/
/.settings/
/.classpath
/generated/
.idea
*.iml
/application-local-memcached.properties
/application-local.properties
然后我对 application-local.properties
做了一些更改,当我执行 git add . -n
时,我看到 git 准备好进行更改! 为什么 git 不尊重我的 git忽略更改以忽略对 application-local.*
的更改?
我假设 application-local.properties
已经 checked-in 到 repo。如果是,您必须将其删除(或在此期间制作一个副本),提交删除文件,将您创建的副本重命名为原始文件名和 post .gitignore
将开始忽略对该文件的更改。
或者,从 Git 的角度来看,src/main/resources/
在技术上是空的,因为您希望 Git 忽略那些 属性 文件。 Git 不允许将空目录添加到 repo,但如果您仍想保留此目录结构,请创建一个虚拟文件 src/main/resources/.gitkeep
以便您可以实际提交和维护该目录路径回购。