git没有跟踪文件夹和文件?

时间:2018-03-29 04:08:59

标签: git

我正在研究Elixir's tutorial之后的项目。我创建了一个名为kv_umbrella的git仓库。在某些时候,我将kv文件夹拖放到kv_umbrella/apps内。但不知何故,git没有跟踪kv文件夹中的任何内容。

Github repo here

如果你去github repo并进入应用内部,它就是空的。但是,在我的本地笔记本电脑中,我有内容。

kv folder

当我git status时,它显示我无需添加任何内容:

kv_umbrella iggy$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean

还有另一个SO post问题类似于我的问题,但没有一个顶级解决方案有效。

我已尝试git add .(在kv内的某个文件中进行更改后)

我也尝试手动添加文件,但这就是显示的内容:

kv_umbrella iggy$ git add apps/kv/README.md
fatal: Pathspec 'apps/kv/README.md' is in submodule 'apps/kv'

如何告诉git推送kv文件夹内容?

1 个答案:

答案 0 :(得分:1)

它没有跟踪kv中的任何内容,因为kv被其主要父级回购记录为gitlink。

即父索引中的特殊条目,仅记录由kv子仓库表示的树的SHA1。

您可以将其引用为 submodule ,而不是拖动它 另一种方法是subtree

或者,如果您不关心kv的历史,只需删除其.git子文件夹(然后将添加kv内容)。

在此期间,要删除GitHub上的空文件夹:

git rm --cached apps/kv
# no trailing slash!

git commit -m "remove gitlink"
git push