如何撤消放弃 GitHub Desktop 中的更改?

Posted

技术标签:

【中文标题】如何撤消放弃 GitHub Desktop 中的更改?【英文标题】:How can I undo discard changes in GitHub Desktop? 【发布时间】:2016-06-03 10:28:06 【问题描述】:

在“撤消”按钮消失后,有什么方法可以撤消 GitHub Desktop 中的丢弃更改?

我说的是 GitHub Desktop 的撤消功能,而不是一般的 git。

【问题讨论】:

@TheGeorgeous 谢谢,如果我使用 Git Shell,我应该运行哪个命令? 您可以检查一次回收站。有时回收站中有丢弃文件,您可以恢复相同,但请记住您丢弃的版本只会出现。如果您在丢弃后进行了更改,则不会合并到其中。 【参考方案1】:

你需要从 git repo 中恢复这些文件

git fsck --unreachable --no-reflogs --no-cache HEAD

或者看看这个:- restoring lost commits

【讨论】:

这仅适用于实际提交的文件,在这种情况下,我们正在寻找从未暂存或提交的文件【参考方案2】:

GitHub 桌面菜单 -> 存储库/恢复丢弃的更改

【讨论】:

GitHub 桌面菜单在哪里? 此菜单项已被删除,请参阅此答案:***.com/a/50240230/228369【参考方案3】:

向 Github 支持团队发送了电子邮件,并被告知在此选项消失后,没有其他方法可以撤消更改。他们可能会在未来实现此功能。

【讨论】:

这个答案是针对过时的版本【参考方案4】:

截至 2018 年 5 月 8 日,如果您使用的是最新版本的 github 桌面或 github 桌面测试版,未提交的废弃更改现在将作为新文件复制并放入您的垃圾箱/回收站。

这是当前提示的样子:

【讨论】:

拯救了我的一天! 谢谢你。有时就像这样,我希望我可以为想到如此有用的功能的开发人员/产品团队买一杯咖啡/啤酒。为我节省了很多汗水和眼泪。【参考方案5】:

您可以在回收站中找到那些丢弃的文件。

【讨论】:

【参考方案6】:

丢弃的更改将作为新文件发送到回收站,原始文件的名称会有所不同。您可以将回收站中的文件复制并粘贴到原始文件中。

例如: 我放弃了对package.json 的更改,垃圾箱中的结果文件被命名为package 16-36-10-974.json。在我丢弃它之前,该文件包含文件的原始内容。我将 package 16-36-10-974.json 中的内容复制到 package.json,这就是我将丢弃的更改取回的方式。

(不确定文件名中的数字来自哪里)

【讨论】:

【参考方案7】:

我遇到了这个问题,似乎无法使用 GitHub Desktop 恢复这些文件,我的文件托管在我们的一台服务器上,但由于某种原因,GitHub Desktop 没有按照所述将文件移动到回收站.谢天谢地,服务器已备份,我能够以这种方式恢复文件。

【讨论】:

【参考方案8】:

我正在使用适用于 Windows v2.1.0 的 Github Desktop,我可以确认垃圾箱/回收站 不再存在。我使用的是 Windows 10。

就我而言,我想撤消的丢弃更改是一个已删除的文件夹。

解决这个问题的方法是在 Windows 资源管理器中打开父文件夹然后按 ctrl+z。这恢复了我删除的文件夹。

【讨论】:

谢谢,这在意外删除存储库后保存了我的工作。【参考方案9】:

首先,不要关闭 VS 代码。

然后打开所有你已经完成放弃更改的文件。

按 Ctrl+z 撤消和 CTRL+S 保存更改。

它对我有用。

【讨论】:

拯救了我的一天,兄弟。 你是个传奇。 拯救了我的一天,兄弟 [2] 和这里的其他人一样,您节省了我的一天,可能还有一周的工作时间【参考方案10】:

我用过 Recuva,效果很好。

只需安装应用并选择需要恢复的文件夹,等待 2 分钟

【讨论】:

以上是关于如何撤消放弃 GitHub Desktop 中的更改?的主要内容,如果未能解决你的问题,请参考以下文章

如何撤消 Github 中的先前提交 [重复]

如何使用其他用户凭据撤消对 GitHub 的意外推送

如果未提交,如何撤消“丢弃”

GitHub Desktop的简单使用

如何撤消“git push --mirror”?

GitHub Desktop Git