我有一个提交列表。需要回滚到some fit & upd
(97f962f143b136d0d6dcbdfc02afc8253c767d7f)。需要这样做,以便删除在后续提交中创建的所有文件。
git checkout 97f962f143b136d0d6dcbdfc02afc8253c767d7f
upd
答案 0 :(得分:4)
您的目标是在“适应并更新”之后删除所有提交,还是只是在该状态下获得一棵工作树?我假设您尝试过
git rest --hard 97f962f
如果失败,我将在您想要的特定提交时从github下载整个软件包,并用这些文件替换您的工作树。可能不建议这样做或不安全,但我已经做了很多次(考虑备份本地存储库)。
转到github.com上的存储库。单击“ X提交”(最左侧的按钮),导航到所需的提交,单击提交的名称,单击“浏览文件”,“克隆或下载”,然后下载zip。与该提交中的文件一样,您将获得一个zip文件。如果您的HEAD指向您想要的位置,那么可以用下载的树替换树中的文件。
如果您采用这种骇人听闻的解决方案,则您的存储库可能出了点问题,但如果可行,它就会起作用。
如果重置不起作用,您可以考虑尝试git revert。不应该这样使用它,但是您可以创建一个新分支,并还原最近一次和您想要的所有提交(使用--no-commit选项)。您应该最终找到与所需提交匹配的工作目录。不是一个好方法,但是如果重设根本不起作用,那么值得一试。