我从本地机器上丢失了一些代码,我想我在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请求。您无法对存储库的现有克隆或分支执行任何操作,但您可以联系支持部门以永久删除所有存储库的缓存视图,并使用违规提交来提取请求。
答案 0 :(得分:1)
评论告诉您,由于无法识别的克隆或分叉,您可能拥有整个项目的其他副本。
如果是这样,你运气好了 - 确认它真的没有动过,然后将未触动的回购推送到你的遥控器。
如果您没有运气,我建议您按照以下步骤操作:
.git
作为备份。无论你在何处阅读避免 git gc
。