如何重置已恢复的最后一个存储,但随后错误地丢失了其中包含的更改?
How do I reset the last stash which was recovered, but then lost the changes it contained by mistake?
我正在使用 GitHub 桌面并恢复了我的存储,但是当我继续工作时错误地覆盖了这些更改,无法使用 VS Code 恢复。 (用crtl+z回溯文件历史,然后误覆盖了那些改动)。
有没有什么办法可以让我找回藏匿的东西,即使它没有被丢弃?
我在 Windows 10,尝试了以下命令,但我认为它只列出了丢弃的存储提交:git fsck --no-reflogs | find "dangling commit"
理想情况下,我需要一种方法来列出所有最近的存储提交,无论它们是被删除还是恢复。然后用 git stash apply *hash*
.
恢复它们
总结 : 下图中的恢复按钮是我点击将存储应用到我的本地存储库的按钮。但是,现在我丢失了那些恢复的更改。我想取回我的藏品,以便我恢复这些更改,因为这似乎是我唯一能做到的方法。
我能够使用以下命令恢复存储:
- 命令列出所有 lost/unreachable 像提交一样存储
git fsck --unreachable | grep commit | cut -d ' ' -f3 | xargs git log --merges --no-walk
- 使用上一个命令
中列出的哈希值之一显示 git show *hash*
的内容
- 如果提交是正确的,使用
git stash apply *hash*
恢复更改。
请注意,在 Stack overflow 上发布问题之前我已经尝试过了,但是 windows 无法识别这些命令,因为它们 Linux commands.To 解决了这个问题,我安装了 cygwin它允许您在 windows 中使用 linux 命令:
- 安装https://www.cygwin.com/ (Follow vid for installation and setup : https://www.youtube.com/watch?v=4zp7m7nkt-A)
- 现在可以在 Cygwin 终端中使用 Linux 命令
- 能够在 windows cmd 中使用 linux 命令。确保 bin 文件夹路径在 env 路径变量中可用。
- 关闭所有终端,以及GitHub桌面,然后在项目根文件夹再次打开windows命令行,然后执行
ls
命令。如果它列出了您的目录文件夹和文件,则表示您的配置成功。
我正在使用 GitHub 桌面并恢复了我的存储,但是当我继续工作时错误地覆盖了这些更改,无法使用 VS Code 恢复。 (用crtl+z回溯文件历史,然后误覆盖了那些改动)。
有没有什么办法可以让我找回藏匿的东西,即使它没有被丢弃?
我在 Windows 10,尝试了以下命令,但我认为它只列出了丢弃的存储提交:git fsck --no-reflogs | find "dangling commit"
理想情况下,我需要一种方法来列出所有最近的存储提交,无论它们是被删除还是恢复。然后用 git stash apply *hash*
.
总结 : 下图中的恢复按钮是我点击将存储应用到我的本地存储库的按钮。但是,现在我丢失了那些恢复的更改。我想取回我的藏品,以便我恢复这些更改,因为这似乎是我唯一能做到的方法。
我能够使用以下命令恢复存储:
- 命令列出所有 lost/unreachable 像提交一样存储
git fsck --unreachable | grep commit | cut -d ' ' -f3 | xargs git log --merges --no-walk
- 使用上一个命令 中列出的哈希值之一显示
- 如果提交是正确的,使用
git stash apply *hash*
恢复更改。
git show *hash*
的内容
请注意,在 Stack overflow 上发布问题之前我已经尝试过了,但是 windows 无法识别这些命令,因为它们 Linux commands.To 解决了这个问题,我安装了 cygwin它允许您在 windows 中使用 linux 命令:
- 安装https://www.cygwin.com/ (Follow vid for installation and setup : https://www.youtube.com/watch?v=4zp7m7nkt-A)
- 现在可以在 Cygwin 终端中使用 Linux 命令
- 能够在 windows cmd 中使用 linux 命令。确保 bin 文件夹路径在 env 路径变量中可用。
- 关闭所有终端,以及GitHub桌面,然后在项目根文件夹再次打开windows命令行,然后执行
ls
命令。如果它列出了您的目录文件夹和文件,则表示您的配置成功。