有没有办法删除我的 Github 提交历史记录?我不想删除所有的提交记录,只想删除最后10个或更少的提交记录。但我似乎无法找到如何做到这一点。
只需选择您想要返回的哈希值,在克隆中执行以下操作:
git reset --hard hash#
git push -f origin branch
在这里,branch
是你想要推送的分支名称。Voilà。在使用强制推送前要小心。在熟悉它之前,您可能需要复制您的工作目录。
HEAD~10
。git reset --hard HEAD~10
git push -f origin master
不建议删除服务器提交历史记录,尤其是:如果您有一个团队在此存储库上工作。
如果您有一个团队在此工作,我建议通过添加另一个提交来撤销您不想要的代码,以回退操作。
我已经将我的所有文件上传到了我的第一个Github项目中,包括一些带有秘密密钥的设置文件。在添加我的.gitignore
文件之前,我不得不回去删除所有已经包含的版本,并从我的项目缓存中删除所有设置文件。
gedit ./.git/logs/HEAD
找到您想要删除其之前所有内容的“新根”的40个字符SHA哈希值。将其复制到剪贴板并关闭它。(您可以使用或不使用gedit
,它是Linux的默认文本编辑器)。
$> gedit ./.git/info/grafts
在此处粘贴SHA。进入您的项目目录。
$> cd ../..
$> git filter-branch
强制推送到主分支,否则它将阻止您尝试删除历史记录。
$> git push --force -u origin master
删除你的 grafts
文件。
$> rm ./.git/info/grafts
好吧,我的答案只是解决问题的一半。我的公共活动 RSS 订阅仍然有链接指向所有细节,详细说明我想要删除的信息。显然,没有办法删除这些链接, 但你应该阅读 更改密码,并更新任何意外上传的敏感数据。
安装Git后,您还可以右键单击存储库文件夹 - Git GUI Here。
选择存储库 - 可视化所有分支历史记录。
右键单击所需的提交记录 - 重置主分支历史记录到此。
现在您有3个选项:
选择后,选择文件 - 重新加载。
在GitHub Desktop上选择提交中的还原,然后再次还原,使我们回到原始代码,然后只需清理这些还原提交即可解决问题。