所以我看到Git无法识别文件夹,或者我应该说当提交之间的唯一更改是将空文件夹添加到工作树中时它们git status之后没有显示git add ..
您将如何处理将空文件夹添加到工作树(用于运行时存储)的需要,并在其他存储库从当前存储库(添加了文件夹的存储库)中提取时反映/创建它们?
这里的关键词是为什么。答案是很多问题,“ git不允许这样做”,但我想知道为什么它不允许这样做。
我一直在阅读有关git的体系结构,并且其中包含以下图像:

该图像显示,有 tree节点。从技术上讲,保存一个tree没有任何孩子的a看起来很简单。那么为什么git禁止这样做呢?
本书的一部分提到了这一点:
对于更改后的文件上方的每个目录(加上存储库根目录),将创建一个具有新标识符的新树对象。从新创建的根树对象开始创建DAG,该对象指向Blob(在此提交中重用文件内容未更改的现有Blob引用),并引用新创建的Blob代替该文件在先前树层次结构中的先前Blob对象。 。(blob代表存储在存储库中的文件。)
我觉得这可能是原因,但是对于我想要回答的内容来说,这有点掩饰细节。
每次我执行git状态时,此文件夹都显示为未跟踪.
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# src/error/
nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)
即使这样做git add .,git commit -asrc/error处的文件夹仍然显示为未跟踪.每次只有此文件夹不断提出问题时,才会提交其他未分段文件.git也没有报告任何错误.这可能是什么问题?