发布
社区首页 >问答首页 >GitHub文件夹上有一个白色箭头

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

Stack Overflow用户
提问于 2020-05-28 03:03:05
回答 7查看 91.4K关注 0票数 106

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

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

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2020-05-28 05:26:46

症状

检查本地是否在该文件夹下有一个.git/子文件夹。

原因

这意味着该文件夹(本地)是一个嵌套的Git存储库,其树SHA1被记录为"gitlink“(带有直白色箭头的灰色文件夹)。

然后您将在GitHub上看到的是,对象的gitlink:SHA-1引用了另一个存储库中的提交,由一个空文件夹名表示。它是一个嵌套的Git存储库。

如果您看到一个folder @ xxx,那么它就是一个子模块条目,这意味着您自己的存储库中有一个.gitmodules,除了gitlink之外,它还记录了远程存储库的实际URL。

它表示超级项目期望嵌套子模块的工作目录所在的提交的对象名称。

在这两种情况下(带有文件夹名的白色箭头或带有folder @ xxx、文件夹名称和版本的白色箭头),它都是一个表示嵌套Git存储库的Gitlink :另一个Git存储库的占位符,因此是一个空文件夹。但在第二种情况下,该空文件夹将在一个特殊的.gitmodules文件中引用/可见。

解决方案(移除白色箭头)

为了还原该文件夹内容:

子模块:

git clone --recurse-submodules将恢复本地存储库中该子模块的内容(而不是嵌套的Git,它的URL未被记录,文件夹的内容将保持为空)

白色箭头将保留在远程存储库上,folder @ version将显示项目引用的子模块存储库的SHA1。

嵌套Git存储库:

或者,如果您不关心该文件夹的历史记录,可以在本地删除它的.git子文件夹(假设它不是子模块,这意味着它不在主存储库的.gitmodules文件中引用)、添加、提交和推送。

白色箭头将消失,您将能够访问GitHub上的文件夹内容。

然后需要删除gitlink条目:

代码语言:javascript
代码运行次数:0
复制
git rm --cache client_folder 
# without a trailing slash: 
# not client_folder/ but client_folder

最后,您可以添加、提交和推送该文件夹内容。

票数 88
EN

Stack Overflow用户

发布于 2020-07-24 07:00:25

箭头可能意味着这是一个子模块。

你可以试试:

代码语言:javascript
代码运行次数:0
复制
git add yourfolder

如果这样做会导致错误,如:

代码语言:javascript
代码运行次数:0
复制
xxx submodule xxx

出现时,您可以尝试如下:

代码语言:javascript
代码运行次数:0
复制
git rm --cached yourfolder

然后,您可以成功地运行:

代码语言:javascript
代码运行次数:0
复制
git add yourfolder
票数 74
EN

Stack Overflow用户

发布于 2020-07-15 08:53:51

在您的计算机上,如果您使用箭头导航到目录并试图查看隐藏的文件,您将看到一个.git文件夹,表明它是一个存储库。这意味着它是包含在外部回购中的回购,您已经将其推到了GitHub中。

删除箭头并开始正确查看文件(在我看来)的最简单方法是删除.git文件夹。这样,它就不再成为一个git,并再次成为一个常规文件夹。

现在,当您推入GitHub时,您通常可以访问该文件夹并查看其所有内容。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62056294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档