完全重置 SourceTree 中损坏的 git 子模块

Fully reset a corrupted git submodule in SourceTree

首先,我根本没有使用命令行 git。我只使用 SourceTree 的 gui 界面。我宁愿这样解决我的问题;如果可能的话。

不知何故,我的子模块已损坏。尝试获取或拉取时出现以下错误:

我还没有找到这个特定问题的任何答案。我很幸运,我的远程主机没问题,100% 是最新的,我没有本地更改。所以,我认为最简单的方法就是完全重置我的本地子模块。

但是,我不知道该怎么做。

我考虑尝试删除我的子模块,然后重新添加它。然而,我过去曾遇到过这方面的问题,所以我很害羞。

我发现了一些关于重置为特定提交的帖子。但是,由于这个错误,SourceTree gui 无法填充我的历史记录。

如有任何帮助,我们将不胜感激

谢谢

你可以试试这个

  • 右键单击 BRANCHES 处的冲突分支并将其删除。
  • 双击位于 REMOTES 的远程分支以重新下载并切换到该分支。

轻松,祝你好运。

我终于解决了这个问题。只好放弃,改用命令行

我找到了这个页面 ()。这让我想到了使用“git fsck --full”命令。

这让我指向了 .git 层次结构中一个非常具体的文件夹,该文件夹已损坏。

我需要删除这个文件夹,但这并不容易。 Windows 让我删除它。不在安全模式。不适用于 cmd del 或 rmdir。我不得不 运行 扫描整个驱动器上 windows 的磁盘。最终检测到文件夹并将其删除。

最后,从那里,我能够再次获取和拉取 master。