如何使用Git跟踪目录而不是他们的文件?
我最近开始使用Git,并且遇到了一件事情。 如何跟踪目录而不跟踪其内容?
例如,我正在处理的网站允许上传。 我想跟踪上传目录,以便在分支等时创建它,但显然不是其中的文件(在开发分支中测试文件或在主文件中是真实文件)。
在我的.gitignore我有以下几点:
uploads/*.*
也试过了(忽略整个目录):
uploads/
此目录也可能包含子目录(uploads / thumbs / uploads / videos /)我希望能够追踪这些目录,但不能追踪他们的文件。
这可能与Git? 我到处搜索而没有找到答案。
Git不跟踪目录,它跟踪文件,因此为了实现这个目标,你需要跟踪至少一个文件。 所以假设你的.gitignore
文件看起来像这样:
upload/*
你可以这样做:
$ touch upload/.placeholder
$ git add -f upload/.placeholder
如果你忘记了-f
你会看到:
$ git add upload/.placeholder The following paths are ignored by one of your .gitignore files: upload Use -f if you really want to add them. fatal: no files added
然后,当你做git status
你会看到:
# On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached ..." to unstage) # # new file: upload/.placeholder #
显然你可以这样做:
$ touch upload/images/.placeholder
$ git add -f upload/images/.placeholder
我在这里写了这个。
在目录中添加一个.gitignore。
最佳答案我找到的是在您的上传文件夹中包含一个.gitignore文件
# Ignore everything in this directory
*
# Except this file
!.gitignore
在这里你有如何添加一个空目录到Git仓库?
链接地址: http://www.djcxy.com/p/7837.html