Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git隐藏文件重置为首次提交_Git_Version Control - Fatal编程技术网

git隐藏文件重置为首次提交

git隐藏文件重置为首次提交,git,version-control,Git,Version Control,我在一个项目上工作了一段时间,从一开始就使用git。在几次提交之后,我对一个文件进行了更改,我意识到这是不必要的。为了放弃这些更改并返回到最新提交的状态,我使用了: git stash save --keep-index 这给了我输出: 保存的工作目录和索引状态WIP在主机上:cc91857修复了动画错误 头现在在cc91857固定动画错误 然后通过打字把藏起来的东西扔掉了 git stash drop 输出: 已删除的引用/隐藏{0}dfb694b90757d8d25318b09da4f

我在一个项目上工作了一段时间,从一开始就使用git。在几次提交之后,我对一个文件进行了更改,我意识到这是不必要的。为了放弃这些更改并返回到最新提交的状态,我使用了:

git stash save --keep-index
这给了我输出:

保存的工作目录和索引状态WIP在主机上:cc91857修复了动画错误 头现在在cc91857固定动画错误

然后通过打字把藏起来的东西扔掉了

git stash drop 
输出:

已删除的引用/隐藏{0}dfb694b90757d8d25318b09da4f5dad2f3be20a6

但是,虽然我的头部保持在同一个提交状态,但它并没有将编辑的文件更改为上次提交的状态,而是更改为初始提交的状态。令我恐惧的是,我发现包含我最初想要删除的更改的文件在第一次提交和最近一次提交之间似乎保持不变。其他文件不受影响

有没有办法将文件重置为我最近一次提交的状态?

要恢复存储

touch .git/refs/stash     # make sure stash reflog exists, see update-ref docs
git update-ref -m "$(git show -s --format:%s dfb694b9)" refs/stash dfb694b9
git checkout master       # (where you took the stash originally)
git stash apply

可能重复。我看不出这是一个如何重复的选项,正确的选项是-保留索引而不是连字符。你确定你没有连字符就运行了git stash save-keep索引,还是它是一个输入错误?那是一个输入错误,编辑了它。谢谢,为了清晰起见,我已经对你的问题稍加修改;如果您认为我的编辑不准确,请随意更改。由于您报告使用的git stash命令不会影响您的提交,因此所涉及的文件自第一次提交以来似乎没有发生任何更改。也许您尝试返回的提交位于与您当前所在分支不同的分支上。。