我可以从远程存储库中获取所有git对象吗?

时间:2014-05-14 23:33:00

标签: git github

我从本地机器上丢失了一些代码,我想我在github存储库中有对象,问题是,它们是悬空物体,我不知道如何获取它们,有没有办法取他们?

以下是这一切的发生(包括我的愚蠢):

我有一个存储库,其中包含一些巨大的SQL数据(存储库大约为300M),因为存储库大小使git clone变慢,我继续deleted the huge files

git filter-branch 'git rm ...'之后我修复了依赖于已删除数据的测试,并编写了一些代码,我将更改和git push --force origin提交到github。

当我试图用这个" new"存储库,它只是感觉到它的脸。 git filter-branch 'git rm ...'改变了第一次提交,所以一切都变成了冲突。

因为我无法改变,所以我决定尝试不同的东西,我从本地机器上删除了存储库,并将git push --force我的备份从旧存储库删除到github。

这就是我失去一些工作的方式。

我认为对象仍然在github中,因为他们关于如何删除合理数据的文章说:

  

本文将告诉您如何使用GitHub存储库中任何分支或标记无法访问敏感数据的提交。 但是,重要的是要注意,在存储库的任何克隆或分支中,这些提交仍然可以访问直接通过GitHub上缓存视图中的SHA-1哈希,并通过任何引用它们的pull请求。您无法对存储库的现有克隆或分支执行任何操作,但您可以联系支持部门以永久删除所有存储库的缓存视图,并使用违规提交来提取请求。

1 个答案:

答案 0 :(得分:1)

评论告诉您,由于无法识别的克隆或分叉,您可能拥有整个项目的其他副本。

如果是这样,你运气好了 - 确认它真的没有动过,然后将未触动的回购推送到你的遥控器。

如果您没有运气,我建议您按照以下步骤操作:

  1. 制作完整的深层副本(必须包含您的repoistory文件夹的.git作为备份。
  2. 阅读有关data recovery和此post的章节,并尝试不同的策略来恢复您的数据。如果出现故障,请再次从备份中复制。
  3. 无论你在何处阅读避免 git gc