如何使用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

上一篇: How to track directories but not their files with Git?

下一篇: How can I delete a file from git repo?