【问题标题】:How to redo an 'undo most recent commit' in Github Desktop如何在 Github Desktop 中重做“撤消最近的提交”
【发布时间】:2018-01-16 23:58:51
【问题描述】:

我想解锁我的最后一次提交并在存储库菜单中单击“撤消最近的提交”。发生的事情是提交消失了,该提交中的所有文件都消失了。我在文件字段中留下了“0 次更改”,我回来了两个月的更改。

如何取回该提交中的文件?

【问题讨论】:

    标签: git github github-desktop


    【解决方案1】:

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

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

    在终端中输入 repo/应用程序的根目录。

    运行:

    git reflog
    

    给出输出:

    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
    

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

    git reset b95d402
    

    其中 b95d402 是“新电子邮件设计”-commit 前面的哈希。 为了让 Github Desktop 跟随变化,我改变了头部

    git reset --soft HEAD@{4}
    

    最终,管道中有一堆未提交的更改,这些更改实际上是我刚刚恢复的文件的反转。那些我刚刚在 Github 中手动丢弃的。

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

    【讨论】:

    • 你为我节省了很多时间。我不小心单击了 UNDO 提交两次,github 弄乱了我所有的文件。多亏了你,我找回了最新的代码,否则我将不得不使用一些恢复工具,或者更糟的是,再次重写代码!
    • 谢谢!我不小心撤消了我的比特币密钥,并以为我丢失了它们。感谢您的修复!
    猜你喜欢
    • 2021-06-01
    • 2023-01-03
    • 2010-10-29
    相关资源
    最近更新 更多