繁体   English   中英

如何回滚到某个提交?

[英]How to roll back to a certain commit?

我有一份提交清单。 需要回滚以some fit & upd (97f962f143b136d0d6dcbdfc02afc8253c767d7f)。 需要这样做,以便删除在后续提交中创建的所有文件。 在此处输入图片说明

git checkout 97f962f143b136d0d6dcbdfc02afc8253c767d7f

在此处输入图片说明

更新

在此处输入图片说明

您的目标是在“适应并更新”之后删除所有提交,还是只是在该状态下获得一棵工作树? 我假设你尝试过

git rest --hard 97f962f

如果失败,我将在您想要的特定提交时从github下载整个软件包,并用这些文件替换您的工作树。 可能不建议这样做或不安全,但我已经做了很多次(考虑备份本地存储库)。

转到github.com上的仓库。 单击“ X提交”(最左侧的按钮),导航到所需的提交,单击提交的名称,单击“浏览文件”,“克隆或下载”,然后下载zip。 与该提交中的文件一样,您将获得一个zip文件。 如果HEAD指向所需位置,则可以用下载的树替换树中的文件。

如果您采用这种骇人听闻的解决方案,则您的存储库可能存在问题,但如果可行,它就会起作用。

如果重置不起作用,您可以考虑尝试git revert 不应该这样使用它,但是您可以创建一个新分支,并还原最近一次和您想要的所有提交(使用--no-commit选项)。 您应该最终找到与所需提交匹配的工作目录。 这不是一个好方法,但是如果重设根本不起作用,那么值得一试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM