git隐藏丢失的更改,无法恢复

git隐藏丢失的更改,无法恢复,git,Git,我对工作分支做了大量修改,然后git-stash。 我不知道这是否正常,但我在终端收到了一些警告: 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: g

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

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_分支;git隐藏应用程序
。 这给了我:

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> ...
C:\ProgramFiles(x86)\Freeware\Git\1.9.5/libexec/Git-core\Git-stash:line 17:Git-sh安装程序:没有这样的文件或控制器
Y
C:\ProgramFiles(x86)\Freeware\Git\1.9.5/libexec/Git core\Git stash:第18行:Git-sh-i18n:没有这样的文件或目录
C:\Program Files(x86)\Freeware\Git\1.9.5/libexec/Git core\Git stash:第19行:要求\u工作\u树:未找到命令
C:\Program Files(x86)\Freeware\Git\1.9.5/libexec/Git core\Git stash:第20行:找不到cd\u to\u顶级:命令
C:\Program Files(x86)\Freeware\Git\1.9.5/libexec/Git core\Git stash:未找到第396行:eval\u gettext:命令
C:\Program Files(x86)\Freeware\Git\1.9.5/libexec/Git core\Git stash:找不到第396行:die:命令
C:\Program Files(x86)\Freeware\Git\1.9.5/libexec/Git core\Git stash:找不到第424行:eval\u gettext:命令
C:\Program Files(x86)\Freeware\Git\1.9.5/libexec/Git core\Git stash:找不到第424行:die:命令
用法:git merge recursive…--。。。

没有应用任何更改。。。我不能在藏起来之前回来。我肯定搞砸了,但是在隐藏和签出之前,有没有办法恢复第一个分支上的损失?

您的配置有很大问题,以至于
git stash
脚本找不到它工作所依赖的其他脚本。因此,我们很难知道事物处于什么状态

我真的不想猜测,但我会说我很悲观。我很惊讶这个脚本能够修改您的工作目录或索引,但从您描述的内容来看,它似乎做到了;现在还不清楚这些东西是否会被正确地写入数据库。但同样,这是99%的猜测

因此,第一项工作是找出脚本出现问题的原因。您是否正确安装了git?我想它一直在工作,为其他行动?如果在windows上,您是否记得启动启用git的shell实例(“git bash”、“git cmd”等)?首先调用git需要做任何不寻常的事情(比如复制二进制文件或提供完整路径)吗

有太多的变量,我无法引导您了解每一个偶然事件,但我会从这些问题开始,因为您从
git stash
获得的错误消息(而不是警告)是正常的


一旦你弄明白了这一点,下一步的工作就是评估损失,看看是否可以恢复。您可以使用
git status
确认索引中是否还有任何内容。您可以使用
git reflog stash
查看是否在混乱中创建了一个新的stash commit。

这可能是一个X/Y问题,因为它看起来更像是您破坏了
路径
或其他什么。1.9.5是非常旧的版本。考虑安装最新的Git用于Windows。此外,您似乎已安装到非默认路径,请尝试使用所有默认路径安装它