【发布时间】:2018-01-16 23:58:51
【问题描述】:
我想解锁我的最后一次提交并在存储库菜单中单击“撤消最近的提交”。发生的事情是提交消失了,该提交中的所有文件都消失了。我在文件字段中留下了“0 次更改”,我回来了两个月的更改。
如何取回该提交中的文件?
【问题讨论】:
标签: git github github-desktop
我想解锁我的最后一次提交并在存储库菜单中单击“撤消最近的提交”。发生的事情是提交消失了,该提交中的所有文件都消失了。我在文件字段中留下了“0 次更改”,我回来了两个月的更改。
如何取回该提交中的文件?
【问题讨论】:
标签: git github github-desktop
从这里: 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 桌面。
【讨论】: