Warm tip: This article is reproduced from serverfault.com, please click

Bitbucket-git中缺少一个文件夹,并将其作为文件推送

(Bitbucket - One folder is missing in git and pushed as a file)

发布于 2020-12-03 23:40:06

我做了很多尝试,将我的项目从intellij推进到Bitbucket。我必须插入两个屏幕截图来说明问题所在:一切正常,但是文件夹“ frontend”作为文件被推送。 在此处输入图片说明

在此处输入图片说明

我确实强行推送,并尝试删除该存储库并重试,但是没有任何效果。知道我在做什么错吗?

Questioner
matlab user
Viewed
11
torek 2020-12-04 08:27:05

该图标及其旁边的哈希ID表示你所拥有的根本不是文件。(而且,Git不存储文件夹,因此也不是文件夹。)它是Git所谓的gitlinkgitlink是子模块的内部组件,它告诉超级项目哪个提交要退出子模块。

子模块本身就是另一个Git存储库。这意味着克隆超级项目后,你还必须也git clone有子模块存储库。让Git自己执行此操作的指令存储在名为的提交文件中.gitmodules如果.gitmodules文件丢失(如你的屏幕快照所示),如果文件已完成,则Git本身无法git clone为你提供子模块。我喜欢称其为损坏的子模块,有时也称为半断定的子模块。要修复它,你必须提供另一半的屁股:克隆适当的Git存储库。(然后将说明也放入.gitmodules文件中,以便下次完全使用它。)

如果你不需要子模块,请不要使用gitlink。要使Git不使用gitlink,请确保你不尝试将存储库添加到存储库:Git实际上无法做到这一点,因此它改为使用gitlink。