试图回退我的存储库一些提交。
打开提交日志后,我选择要回退到的提交,然后依次选择Reset "master" to this...
和Hard: Reset working tree and index
。
再次打开日志时,所有以后的提交确实都消失了。
但是当我从干净的地方拉出存储库时,它们又回到了那里。
这个任务以前在SVN上很简单(尽管不是完全删除一堆提交,只是恢复为先前的提交,除非您选择了先前的提交(即,在最先提交之前),否则它不会显示在Tortoise GIT菜单中最近)。
有什么想法可以实现我的目标吗?
谢谢!
答案 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.根据回购设置,必须有人批准。