如何在Github Desktop中重做"撤消最近提交"

JUl*_*der 2 git github github-desktop

我想解锁我的最后一次提交,然后在Repository菜单中点击"undo most recent commit".发生的事情是提交消失了以及提交中的所有文件.我在文件字段中留下'0 Changes',我回来了两个月的更改.

如何获取该提交中的FILES?

JUl*_*der 7

这是我最终恢复文件的方式

从这里:https: //github.com/blog/2019-how-to-undo-almost-anything-with-git

在终端中输入repo/application的根目录.

跑:

git reflog
Run Code Online (Sandbox Code Playgroud)

给出输出:

8395eb8 (HEAD -> version2) HEAD@{0}: reset: moving to 8395eb8da1e13f3377829ced60831b84fc9365fb
b95d402 HEAD@{1}: reset: moving to b95d402f746ca053bdd68ee919ed0314155dfc86
b49fbfe HEAD@{2}: revert: Revert "new email design"
b95d402 HEAD@{3}: commit: new email design
8395eb8 (HEAD -> version2) HEAD@{4}: commit: design details
Run Code Online (Sandbox Code Playgroud)

要从提交"新电子邮件设计"重置我的文件:

git reset b95d402
Run Code Online (Sandbox Code Playgroud)

其中b95d402是"新电子邮件设计"前面的哈希值.commit.为了让Github Desktop跟随变化,我改变了主意

git reset --soft HEAD@{4}
Run Code Online (Sandbox Code Playgroud)

最终管道中出现了一堆未经修改的变化,这些变化实际上反转了我刚恢复的文件.我刚刚在手动Github中丢弃的那些.

可能有更好的方法可以做到这一点,但这会将我的文件返回给Github Desktop.

  • 你刚给我留了很多时间.我不小心点击了UNDO提交两次,github搞砸了我的所有文件.多亏了你,我得到了我最新的代码,否则我将不得不使用一些恢复工具或者更糟糕的是,再次重写代码! (2认同)