乌龟GIT-“将“主”重置为此”无法完成工作

时间:2018-12-26 09:13:17

标签: git tortoisegit git-revert

试图回退我的存储库一些提交。

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

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

但是当我从干净的地方拉出存储库时,它们又回到了那里。

这个任务以前在SVN上很简单(尽管不是完全删除一堆提交,只是恢复为先前的提交,除非您选择了先前的提交(即,在最先提交之前),否则它不会显示在Tortoise GIT菜单中最近)。

有什么想法可以实现我的目标吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

菜单Reset "master"仅表示“重置本地主机”,而不是远程主机。

也就是说,当您单击此选项时,不会进行任何远程操作。这是Git和SVN之间的基本区别:Git执行许多本地操作,仅在需要时执行远程操作,但是SVN中的所有操作都是远程操作。

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

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

答案 1 :(得分:0)

强制进行远程更新是一项冒险的操作,甚至可能是不允许的。
例如。我已经在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.根据回购设置,必须有人批准。