Git无法更新一个目录

3
我在Bitbucket.org上有一个功能良好的git代码库。然而,我有一个目录似乎不在我的代码库控制之下。每当我推送更改时,该目录中的任何内容都会被留下。如果我将代码库克隆到一个新位置,该目录会显示出来,但是它是空的。我认为该目录的内容是从另一个项目中提取的,可能是在另一个git代码库中(我不是编写该项目的人) - 或许这就是原因?当我在Bitbucket中查看该部分代码库的列表时,该目录显示如下:commerce_shipworks → eb549bd63c0b [eb549bd63c0b]。这是否意味着它指向某个我未连接的其他分支?最重要的是 - 我如何重新获得对这批代码的控制权?感谢任何帮助。

目录路径是否已添加到.gitignore文件中? - ooXei1sh
1个回答

5

看起来这是一个子模块,或者是“意外”的子模块。

.gitmodule 文件吗?

如果没有,很可能是一个意外的子模块,意味着某人在子目录中进行了 git clone 操作,但没有删除 .git 文件夹。

从这个 网站 中获取:

以下是您需要执行的操作,以便删除子模块并将其添加为子文件夹:

git rm --cached subfolder
git add subfolder
git commit -m "Enter message here"
git push

现在,源代码应该能够查看子文件夹的内容。

对于其他人阅读此内容的帮助 - 我必须在上一级执行 git rm --cached commerce_shipworks,然后按照说明重新添加文件夹。这仍然没有让 Bitbucket 起床;我进入了我的 stage 站点,在 git pull 抱怨后完全删除了文件夹,然后再次执行 git pull;此时 Bitbicket 开始正常处理该目录。 - Sam Moore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接