我知道这很奇怪,因为git不应该保留空目录。这就是我所做的:
git add directory
git commit
在directory
中有文件,我也想添加,但只有部分文件。但是,没有添加任何文件,我现在无法添加任何文件。
当我将存储库克隆到不同位置时,我可以清楚地看到directory
为空。
当我尝试将directory
中的文件添加到git中时这样:
git add directory/file
我收到错误fatal: Path 'directory/file' is in submodule 'directory'
如何添加此文件?
答案 0 :(得分:5)
这不是一个空目录,这是一个子模块。阅读ProGit: Submodules和man git-submoule了解如何处理它们。
特别是:如果使用子模块克隆存储库,则应该初始化子模块
# git clone ...
git submodule init
git submodule update
答案 1 :(得分:0)
如上所述,这是一个子模块。空目录需要位于包含(父)repo中。子模块有自己的克隆URL。
在克隆上,发出
git submodule update --init
你很高兴(如果你有权访问子模块的克隆网址)