我从这篇文章中读到,它解释了要让 git 跟踪一个文件夹,那里必须至少有一个空文件:
Currently the design of the Git index (staging area) only permits files
to be listed and nobody competent enough to make the change to allow
empty directories has cared enough about this situation to remedy it.
Directories are added automatically when adding files inside them.
That is, directories never have to be added to the repository,
and are not tracked on their own. You can say "git add <dir>" and it
will add the files in there.
If you really need a directory to exist in checkouts you should
create a file in it.
我遇到了一些问题,因为 git 不跟踪空文件夹,我列出了一些:
问题1:
我的apache/log
一个 git 存储库中有一个目录。
当我将它推送到服务器并运行该网站时,它不起作用。它在我的本地系统中运行良好。经过大量研究,我发现git push
没有推送空文件夹/log
。服务检查文件夹日志以创建日志文件。由于文件夹log
不存在,因此无法自动创建文件夹并放置这些文件。这就是错误的原因。
问题2:
我有很多branch
. 只有我的一个特定分支说frontend
有文件夹caps
。
有时目录中的一个文件夹my_git_repo/caps/html/home/
将为空。
分支master
没有文件夹caps
如果我让它git checkout master
有空文件夹,即caps/html/home/tmp
我想手动删除文件夹,caps
有时会造成混乱。
通常我通过在文件夹中放置一个空文件(README
)来解决这些问题。
所以我想让 git 跟踪所有空文件夹。是否可以通过编辑.git/config
或其他方式?
任何帮助都会得到帮助。:))