在GitHub上,我将一个存储库分叉并克隆在我的电脑上。然后,出于测试目的,我编辑了一个文件,提交了一个提交并将其推送到GitHub。但现在我想完全删除这个提交。
我做了以下事情:
git reset --hard <sha1_of_previous_commit>
git push --force
看起来没问题,但我的提交仍然可以通过我的提交的SHA1在GitHub上访问。所以我删除了GitHub上的存储库,然后URL说不找到。
但是,如果我再次使用相同的存储库,则可以通过此URL再次访问我的提交。请帮助我,我怎么能摆脱这个提交?
答案 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上显示,所以我不知道这是一个问题,除非它包含敏感信息。
后续提交将具有唯一的哈希值。