.gitignore排除目录中的文件,但不包括某些目录
application/cache/* application/cache/folder/* application/cache/folder/onemorefolder/*
这似乎并没有工作。 当我克隆项目,没有"application/cache"
文件夹或"application/cache/folder"
文件夹等…
我想如果caching文件夹中的文件没有caching,但文件夹,以便文件夹权限转移和存在。
Git不会跟踪文件夹,只有文件,所以如果你忽略文件夹中的所有内容,Git将没有任何东西可以跟踪。 您可以使用以下内容将.gitignore
文件添加到每个目录( application/cache
, application/cache/folder
, application/cache/folder/onemorefolder/
):
* !.gitignore
然后,您可以添加这些目录,每个目录中只有.gitignore
文件将被添加 – 但是这意味着目录将被跟踪(即在克隆时创build)。
Git不跟踪空目录。 只需在要提交的文件夹中添加一些空的占位符文件即可。
touch application/cache/.keep git add -f application/cache/.keep
对每个“空”文件夹也这样做。 后来你可以忽略这些文件,它们确实只是为了确保git在克隆上创build这些目录。 .gitignore
的条目使其他文件不被跟踪(除非用git add -f
强制)。
还有另一个可能更干净的方法来做到这一点。 而不是在你想保留的文件夹中有.gitignore文件。 你可以把它放在根.gitignore中,如下所示:
application/cache/* application/cache/folder/* application/cache/folder/onemorefolder/* !*.gitkeep
现在只需创build并提交空的.gitkeep文件到上面列出的目录中。 该文件夹将被跟踪这些.gitkeep文件,但没有任何内容将被跟踪。
你可以把一个.gitignore文件放在每个文件里(像mipadi说的),或者在你的根目录下创build类似的文件.gitingnore文件
/assets/*/ /assets/*.*
这对我来说可以
Visual Studio不喜欢被接受的答案。 我不得不在*之前添加一个新行以使其工作。
# Ignore all files in this folder. * !.gitignore