昨天,我推到了GitHub上我的ConnectBot的分支。我推了一次,意识到我没有按照自己想要的方式进行更改,重新提交并再次推送。
现在,GitHub有两个提交: 我的主分支仅跟踪第二个提交,但第一个提交仍然可用,并且仍在我的活动记录中。如何删除它以确保没有人意外地拉取该提交而不是更正的版本?
现在,GitHub有两个提交: 我的主分支仅跟踪第二个提交,但第一个提交仍然可用,并且仍在我的活动记录中。如何删除它以确保没有人意外地拉取该提交而不是更正的版本?
$ git clone git://github.com/nylen/connectbot.git
Cloning into connectbot...
remote: Counting objects: 6261, done.
remote: Compressing objects: 100% (1900/1900), done.
remote: Total 6261 (delta 3739), reused 5980 (delta 3520)
Receiving objects: 100% (6261/6261), 3.04 MiB | 3.40 MiB/s, done.
Resolving deltas: 100% (3739/3739), done.
$ git cat-file -t 1cd775d
fatal: Not a valid object name 1cd775d
1cd775d
)。 - andreiashu删除仓库或联系GitHub
如果可以承受丢失所有问题,删除仓库并重新创建它而不包含错误提交似乎是可行的。该数据也会从提交 API 中消失(尽管推送事件仍可见)。参见:https://dev59.com/73NA5IYBdhLWcg3wrPyq#32840254
如果不能承受丢失问题数据,则 GitHub 支持人员可以手动删除悬挂提交。例如,当我将所有 GitHub 提交电子邮件上传到存储库时,他们要求我删除它,所以我这样做了,然后他们执行了gc
。包含数据的拉取请求必须被删除:由于此原因,该存储库数据在初始下线后一年内仍然可以访问。
他们目前的帮助页面说:
您可以通过联系 GitHub 支持来永久删除您存储库上的所有缓存视图和拉取请求。
也许将存储库设为私有也会使问题保留并且摆脱提交,我不确定。但是您肯定会失去星标/分叉。不确定恢复后提交是否会消失。但至少你可能能够保留一个私人备份以备不时之需。