【问题标题】:Why can I not open my folder in GitHub?为什么我无法在 GitHub 中打开我的文件夹?
【发布时间】:2021-10-18 16:13:29
【问题描述】:

one of my repository 中的“src”文件夹显示为灰色(不可点击):

在推送到 GitHub 之前,我采取了以下步骤:

  1. 我在 GitHub 上创建了一个新的存储库。
  2. 我在我的项目中初始化了 git。
  3. git add .
  4. git commit -m "comment"
  5. git remote add origin url
  6. git push -u origin master
  7. 用户名
  8. 密码

“src”文件夹显示在 GitHub 上,但无法打开。我能做什么?

【问题讨论】:

  • 能否分享相关项目的链接?
  • 如果最后一次提交导致错误,有时可能会出现这种情况。
  • github上只有一个commit,你确定你在本地的master分支上吗?

标签: git github


【解决方案1】:

我通过删除子文件夹(隐藏文件和文件夹)内的 .git 文件夹解决了这个问题。根文件夹中应该只有一个 .git

Git 将该文件夹识别为 modified but untracked content
这个问题还有其他解决方案,看这个帖子:Git - how to track untracked content?

【讨论】:

  • 我想指出(不知何故)我无法打开文件夹 A,因为文件夹 B(与 A 在同一文件夹中)有一个 .git
  • 我删除了文件夹,但没有解决问题
  • Git 并没有说这个文件夹是未跟踪的,但是在 github 中是打不开的。
【解决方案2】:

这有两个可能的原因

  1. 您在 git 文件夹中有一个 git 文件夹,即您的 src 文件夹本身就是一个 git 文件夹。要解决这个问题,只需删除 src 中的 .git 文件夹并
git add <foldername>
git commit -m "commit msg"
git push origin master

如果它仍然没有得到修复,那么可能是因为缓存的问题。修复那个简单的类型

git rm --cached <foldername>

并再次重复上述步骤。您的问题应该会得到解决。

【讨论】:

    【解决方案3】:

    图标表示您已将此文件夹标记为 submodule。 打开你的 .gitmodules ,你会看到名为 src bin 的文件夹。

    从您的 submodule 中删除它们,它将成为常规文件夹

    What is this grey git icon?

    【讨论】:

      【解决方案4】:

      添加本地文件夹后:

      1. 删除未跟踪子模块内的.git 文件夹。
      2. 在子模块中运行git rm --cached . -rf,这对我来说是关键。
      3. git add . 在父文件夹或根文件夹中,一切顺利。

      【讨论】:

        【解决方案5】:

        我从上面尝试了所有方法,但在我的情况下似乎没有任何效果,所以我只是将问题文件夹重命名为其他内容,然后当我推送更改时,Github 出于某种原因识别了它。

        【讨论】:

          【解决方案6】:

          如果你克隆项目你会发现,这些文件夹实际上是空的:

          ​$ ls -la bin
          total 0
          drwxr-xr-x+ 2 fabiopoloni  staff   68  8 Okt 12:18 .
          drwxr-xr-x+ 8 fabiopoloni  staff  272  8 Okt 12:18 ..
          
          ​$ ls -la src
          total 0
          drwxr-xr-x+ 2 fabiopoloni  staff   68  8 Okt 12:18 .
          drwxr-xr-x+ 8 fabiopoloni  staff  272  8 Okt 12:18 ..
          

          也没有.gitmodules,因此在查看状态/同步时会显示错误:

          ​$ git submodule status
          No submodule mapping found in .gitmodules for path 'bin'
          
          ​$ git submodule sync
          No submodule mapping found in .gitmodules for path 'bin'
          No submodule mapping found in .gitmodules for path 'src'
          

          由于它们是空的,最简单的方法是删除它们并提交:

          ​$ rm -rf bin
          ​$ rm -rf src
          ​$ git commit -a -m 'Removed empty submodules folders'
          $ git push
          

          【讨论】:

            【解决方案7】:

            我遇到了同样的问题。

            我给的命令是:

            git add <foldername>
            

            这里的问题是我们忘了提到我们需要这个作为文件夹:

            git add <foldername>/
            

            使用反斜杠,我们现在可以看到该文件夹​​的所有文件都显示出来了,这对我有用!

            【讨论】:

              【解决方案8】:

              当您在某个子目录中初始化存储库时,可能会发生这种情况。 对我来说,我在客户端目录中初始化了一个 git repo。 在您的情况下,它可能是 src 目录,在 src 目录中尝试rm -rf .git,这将删除 src 目录中的存储库,然后尝试再次推送更改 src 将可用。

              【讨论】:

                【解决方案9】:

                我在我的 react 文件夹中遇到了同样的问题,但我已经解决了 . . git rm --cached

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2022-08-16
                  • 2018-07-23
                  • 2016-04-14
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2013-12-24
                  • 1970-01-01
                  相关资源
                  最近更新 更多