GitHub 文件夹上有一个白色箭头

标签 git github

我最近推送到 github,在我的一个文件夹上看到一个白色箭头。

enter image description here

当我单击该文件夹时,它不会打开它。在我的本地机器上,它有内容,但在 github 我无法访问它们。这是什么意思?

最佳答案

症状
检查本地是否有 .git/该文件夹下的子文件夹。
原因
这意味着文件夹(本地)是 嵌套的 Git 存储库 ,其树 SHA1 被记录为“gitlink”(带有白色直箭头的灰色文件夹)
然后你会在 GitHub 上看到 gitlink :对象的 SHA-1 是指另一个存储库中的提交,由空文件夹名称表示。它是一个嵌套的 Git 存储库。
如果您看到 folder @ xxx , 那么它是一个 submodule entry ,这意味着您自己的存储库有一个 .gitmodules在其中,除了 gitlink 之外,它还记录了远程存储库的实际 URL。
它表示 super 项目期望嵌套子模块的工作目录所在的提交的对象名称。
在这两种情况下(带有文件夹名称的白色箭头,或带有 folder @ xxx 、文件夹名称和版本的白色箭头),它是一个表示嵌套 Git 存储库的 Gitlink:另一个 Git 存储库的占位符,因此是一个空文件夹。但在第二种情况下,该空文件夹将在特殊的 .gitmodules 中被引用/可见。文件。

解决方案(去除白色箭头)
为了恢复该文件夹内容:
子模块:
一个 git clone --recurse-submodules 将在您的本地存储库中恢复该子模块的内容(与嵌套的 Git 存储库相反,其中不记录其 URL,并且文件夹的内容将保持为空)
白色箭头将保留在远程存储库上,folder @ version显示您的项目引用的子模块存储库的 SHA1。
嵌套的 Git 存储库:
或者,如果您不关心该文件夹的历史记录,您可以在本地删除它的 .git子文件夹(假设它不是子模块,这意味着它没有在主存储库的 .gitmodules 文件中引用),添加、提交和推送。
然后白色箭头将消失,您将能够访问 GitHub 上的该文件夹内容。

关于GitHub 文件夹上有一个白色箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62056294/

相关文章:

git - 如何列出 git 存储库中的所有缓存文件和未跟踪文件?

git - Intellij 导入问题 - java.io.IOException : Cannot run program "git": error=2, 没有这样的文件或目录

git clone,上传包内存不足

ios - Xcode/Git 存储库设置问题

Github - 在 fork 私有(private)仓库后删除协作者

Python:一个存储库中的多个包还是每个存储库一个包?

git - 使用 Github for Windows 多次克隆同一个存储库

git - 我的新 Github 页面没有显示

c - 对于 Eclipse CDT 项目,我需要从 Git 中遗漏什么

git - 配置 git repo - Ubuntu 服务器