0

我做了一个 Angular 项目并将其推送到 github 上(我对 git 了解不多)。推送后,我看到只有一个带有右箭头的文件夹,单击它时没有任何结果。所以我想把它取下来再推。所以,通过使用互联网,我找到了这个代码。

git rm -rf folder-name

使用这个,本地的原始文件夹被删除了,现在我很恐慌如何恢复它。

任何帮助和建议都会有所帮助。

4

1 回答 1

0

假设你的意思是:

当我去 GitHub 查看提交时,我看到了这个图标:带有白色箭头的文件夹

这意味着您提交了一个“裸” gitlink,即对某个其他 Git 存储库的引用。这是子模块的一半子模块是对某个其他 Git 存储库的引用,其中包括 Git克隆该其他 Git 存储库所需的指令。

删除 gitlink 并提交只是做了一个的提交,其中不再有 gitlink。这并没有损坏任何东西。所有提交都只是添加到您现有的存储库中;旧的提交继续存在。检出较旧的提交,或git revert用于撤销您不喜欢的提交所做的更改,将“撤消”该效果。

签出旧提交和使用之间的主要区别在于git revert,前者只是让您获得旧提交,作为“分离的 HEAD”。您可以使用它,如果您愿意,甚至可以从这里创建一个新分支。Usinggit revert告诉 Git:进行另一个甚至更新的提交,以撤消先前提交的效果。也就是说,你不是回到过去,而是在时间上前进,但把事情放回去。一种方法模糊地类似于“天哪,我打破了我的花瓶,让我回到我打破它之前的时间”,另一种方法是“天哪,我打破了我的花瓶,让我把它粘在一起”。

你几乎永远不想拥有一个“裸”的 gitlink。无论您是想拥有一个真正的子模块,还是只是将其他 Git 存储库的当前签出文件合并到此存储库中的提交中,这完全是另一个问题。GitHub 文件夹中有更多详细信息,它们上有一个白色箭头

于 2021-10-11T08:35:47.997 回答