如何从GitHub中完全删除提交?

时间:2017-07-30 18:26:13

标签: git github

在GitHub上,我将一个存储库分叉并克隆在我的电脑上。然后,出于测试目的,我编辑了一个文件,提交了一个提交并将其推送到GitHub。但现在我想完全删除这个提交。

我做了以下事情:

git reset --hard <sha1_of_previous_commit>
git push --force

看起来没问题,但我的提交仍然可以通过我的提交的SHA1在GitHub上访问。所以我删除了GitHub上的存储库,然后URL说不找到。

但是,如果我再次使用相同的存储库,则可以通过此URL再次访问我的提交。请帮助我,我怎么能摆脱这个提交?

3 个答案:

答案 0 :(得分:3)

这对我有用:

我已将头部重置为2的提交次数

git reset --hard HEAD~2

并通过

强制将我的分支推到远程
git push -f origin my_branch_name

我在远程仓库上看不到任何提交的痕迹。

答案 1 :(得分:2)

Removing sensitive data from a repository”非常明确:

  

重要的是要注意,这些提交仍然可以在存储库的任何克隆或分支中访问,直接通过GitHub上缓存视图中的SHA-1哈希,以及引用它们的任何拉取请求。   您无法对存储库的现有克隆或分支执行任何操作,但您可以通过联系GitHub支持永久删除所有存储库的缓存视图并在GitHub上提取请求。

在你的情况下,(希望)没有fork / clone,但你必须联系GitHub支持请求他们的repo版本的gc,以便提交 not 通过其SHA1 URL可以获得。

答案 2 :(得分:1)

可能始终可以通过URL访问提交。但它没有在Github上显示,所以我不知道这是一个问题,除非它包含敏感信息。

后续提交将具有唯一的哈希值。