作为初学者使用 Github Desktop(Windows 10 上的 v. 2.9.6),在从一个分支来回移动到另一个分支时,我会存储我的更改以将它们保留在分支上以供以后使用。但是连续执行两次,它实际上会覆盖并删除之前的存储,而不是堆叠存储中的更改。
因此我丢失了多项更改。 Github 桌面不提供恢复这些的选项,尽管它们应该可以使用命令行恢复(请参阅此处:如何恢复 Git 中删除的存储?)。但 Shell 命令行在 Github 桌面上不再可用。此外,丢弃的文件在 Windows 回收站中不可用,尝试使用 ctrl+Z 取消也没有帮助。
这个问题也类似于线程如何在 GitHub Desktop 中撤消放弃更改?,但线程已关闭,没有令人满意的答案。接受的解决方案只是说 Github 桌面工作人员确认没有办法恢复此类丢弃的更改。
Windows 10 上 Github Desktop 中丢失的 Stash 可以通过以下方式恢复:
访问此文件夹:C:\Users\USERNAME\AppData\Roaming\GitHub Desktop\logs
打开隐藏掉落发生当天的日志文件。
找到“Dropped stash”行,它包含哈希地址(在我的例子中为 92de3e8c594356cf04169d68e9cdf634806ab315)。参见
补充达曼的上述答案, 在 macOS 中错误行就像
- info: [ui] [AppStore. _popStashEntry] popped stash with commit id df2cb0780de00bcafed2ed5ea548e7205874d2cf