首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用git stash丢失更改,无法恢复

使用git stash丢失更改,无法恢复
EN

Stack Overflow用户
提问于 2017-12-29 22:27:00
回答 1查看 174关注 0票数 2

我对工作分支做了一些修改,然后是git stash。我不知道这是否正常,但我在终端中收到了一些奇怪的警告:

代码语言:javascript
复制
C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 17: git-sh-setup: No such file or director
y
C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 18: git-sh-i18n: No such file or directory

C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 19: require_work_tree: command not found
C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 20: cd_to_toplevel: command not found
C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 186: /logs/refs/stash: No such file or dir
ectory
C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 267: say: command not found
HEAD is now at 73b4e15 bug in resend email

我创建了一个新的分支,希望应用存储的更改git checkout -b new_branch; git stash apply。这给了我:

代码语言:javascript
复制
C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 17: git-sh-setup: No such file or director
y
C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 18: git-sh-i18n: No such file or directory

C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 19: require_work_tree: command not found
C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 20: cd_to_toplevel: command not found
C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 396: eval_gettext: command not found
C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 396: die: command not found
C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 424: eval_gettext: command not found
C:\Program Files (x86)\Freeware\Git\1.9.5/libexec/git-core\git-stash: line 424: die: command not found
usage: git merge-recursive <base>... -- <head> <remote> ...

未应用任何更改...在藏起来之前我不能回来。我肯定搞砸了,但在储藏和结账之前,有没有办法在第一个分支机构恢复损失?

EN

回答 1

Stack Overflow用户

发布于 2017-12-29 23:52:50

您的配置有一些非常错误的地方,以至于git-stash脚本无法找到它所依赖的其他脚本来执行其工作。因此,我们很难知道事物是处于什么状态的。

我真的不想猜测,但我会说我是悲观的。我很惊讶这个脚本能够修改您的工作目录或索引,但是从您描述的内容来看,它听起来像是这样做的;而且完全不清楚这些内容是否会正确地写入数据库。但同样,这也是99%的猜测。

因此,第一项工作是找出脚本出现问题的原因。你的git安装正确了吗?我想它对其他的操作是有效的?如果在windows上,你记得启动一个启用了git的shell实例("git bash","git cmd",等等)吗?你是不是必须做一些不寻常的事情(比如复制二进制文件或者给出一个完整的路径)来调用git?

对于我来说,有太多的变量无法向您介绍每个意外情况,但我会从这些类型的问题开始,因为您从git-stash获得的错误消息(不是警告)不是正常的()。

一旦你弄清楚了这一点,下一项工作就是评估损失,看看它是否可以恢复。您可以使用git status来确认索引中是否仍有内容。您可以使用git reflog stash来查看是否以某种方式在所有这些混乱中创建了新的存储提交。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48024086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档