如何从 git 存储库中删除外部的空文件夹?

How to remove outer, empty folders from a git repository?

因此,无论出于何种原因,在使用 Git Bash 推送到 Github 后,在我的存储库周围创建了空文件夹。我只是打开 git bash 并使用 cd 命令,直到到达我本地计算机上的当前存储库。然后,我推送了回购协议。在 github 上查看时,我的目录结构现在如下所示:

Documents
  Visual Studio 2017
    Projects
      Repo folder
        Repo Contents
        etc..

谢天谢地,我只需单击一次外部文件夹,它就会带我进入 Repo 文件夹。然而,这对我的目的来说是令人困惑和不必要的,我不想必须单击任何文件夹才能看到 Repo 内容。有没有办法摆脱所有这些空的外部文件夹,以便我只能看到 Repo 内容?

修复后编辑以可能帮助其他遇到相同问题的人:我最初使用 CodeBlocks,然后通过创建一个新项目切换到 Visual Studio,然后复制和粘贴代码。我在没有执行 git init 的情况下将 repo 推送到新文件夹中。这在 CodeBlocks 文件夹中留下了 .git 文件夹。如果您更改 IDE,请务必在新文件所在的位置执行 git init。似乎一直到 Documents 的文件夹都包含在 repo 推送中,因为这个文件夹是 "least common" 祖先,可以这么说,是旧目录和新目录的祖先。当我计算机的 Documents 目录中的所有文件都显示为未暂存文件时,这似乎不对。现在我知道为什么了!

检查您在哪里初始化本地 Git 存储库:您在哪里看到 .git 文件夹?

如果您在“文档”下看到它,那将是一个错误:将其删除。
然后在您的 Repo 文件夹中执行 git init,添加、提交并再次推送。

您显示的目录结构 是您的存储库 ,而不仅仅是您认为的单个文件夹。您以某种方式在 Documents 文件夹中创建了一个 repo。请注意,这些文件夹中的 none 是空的。它们都只包含一个文件夹,最多 Repo folder。由于这不是您想要的,因此您需要重新开始。从文档中删除 GitHub 存储库和 .git 文件夹。然后 运行 Git Bash 和 cd 到你想要 repo 的文件夹。最后,运行git init.