乌龟 Git - 'Reset "master" to this' 不做这项工作

Tortoise Git - 'Reset "master" to this' doesn't do the job

我正在尝试将我的存储库倒回几个提交。

打开提交日志后,我选择要倒回的提交,然后 Reset "master" to this...,然后 Hard: Reset working tree and index

再次打开日志时,所有后来的提交确实都消失了。

但是当我从 clean 中提取存储库时,它们又回到了那里。

这个任务过去使用 Subversion 很简单(虽然,并没有完全删除一堆提交,只是恢复到之前的提交,它不会显示在 Tortoise Git 菜单中,除非你选择之前的提交,即最近的前一个)。

知道如何实现我的目标吗?

菜单Reset "master"只是"Reset local master",不是远程主控。

即点击该选项时没有发生远程操作。这是Git和SVN的一个基本区别:Git本地操作很多,需要的时候才做远程操作,而SVN里面的操作都是远程的。

要更新,或者我们说sync您重置的修改,只需执行git push -f强制重写遥控器。

警告:检查两次,确保在执行之前清楚自己在做什么git push -f,否则您可能会丢失必要的工作。

强制远程更新是一个冒险的操作,甚至可能是不允许的。
例如。我在 GitHub

收到了
remote: error: GH006: Protected branch update failed for refs/heads/master.
remote: error: Cannot force-push to this protected branch

https://github.com/hexojs/hexo/issues/2817#issuecomment-432715832 的更好建议:

1. 创建一个新分支,
2. 提交你的代码到分支
3. 并进行拉取请求。
4. 根据 repo 设置,必须有人批准它。