application/cache/*
application/cache/folder/*
application/cache/folder/onemorefolder/*
这似乎不起作用。当我克隆项目时,没有"application/cache"
文件夹或"application/cache/folder"
文件夹等。
我想如果缓存文件夹中的文件没有被缓存,但是文件夹被缓存了,这样文件夹的权限就会转移并存在。
发布于 2011-04-09 04:55:36
Git不跟踪文件夹,只跟踪文件,所以如果你忽略文件夹中的所有内容,Git将无法跟踪任何内容。您可以向每个目录(application/cache
、application/cache/folder
、application/cache/folder/onemorefolder/
)添加一个包含以下内容的.gitignore
文件:
*
!.gitignore
然后,您可以添加这些目录,并且只会添加每个目录中的.gitignore
文件--但这意味着现在将跟踪这些目录(即,在克隆时创建)。
发布于 2011-04-09 04:49:58
Git不会跟踪空目录。只需在要提交的文件夹中添加一些空占位符文件即可。
touch application/cache/.keep
git add -f application/cache/.keep
对每个“空”文件夹也要这样做。稍后你可以忽略这些文件,它们的存在只是为了确保git在克隆上创建这些目录。.gitignore
中的条目可防止跟踪文件夹中的其他文件(除非使用git add -f
;强制执行)。
发布于 2016-05-09 14:21:48
也许还有另一种更干净的方法可以做到这一点。而不是将子.gitignore文件放在想要保留的文件夹中。您可以将其放在根.gitignore中,如下所示:
application/cache/*
application/cache/folder/*
application/cache/folder/onemorefolder/*
!*.gitkeep
现在只需创建空的.gitkeep文件并将其提交到上面列出的目录中。然后将使用这些.gitkeep文件跟踪该文件夹,但不会跟踪任何内容。
https://stackoverflow.com/questions/5600621
复制相似问题