我的项目很老了。/.gitignore和有问题的目录(/cache/)发生了多种情况。
现在,当我clone项目时,不会创建目录。
我只有一个根,为了测试的目的,我清空了它。
.gitignore不存在,~/.config/git/ignore为空。
问题是,无论我对目录/.git/info/exclude执行什么操作(创建或删除),都不会显示任何更改,而且git status也不会找到任何条目,因此我既不能将目录添加到git,也不能删除或忽略它。
有什么解决办法吗?

最佳答案

Git跟踪文件尼亚,而不是目录。只有当有一个文件需要放在目录中时,才会创建目录。
在Git中包含“empty”目录的一种常见技术是在其中创建一个空文件:

touch cache/.gitkeep
git add cache/.gitkeep
git commit

将其推送到共享存储库,然后再次尝试克隆。最后应该得到一个包含单个文件的cache/目录:.gitkeep。如果您的目标是创建目录但忽略其内容,那么您将希望在.gitignore文件中包含类似的内容:
cache/*
!cache/.gitkeep

实际上,它也不会真正跟踪文件。它跟踪内容,但一般认为Git作为跟踪文件是非常安全的。

09-04 11:07
查看更多