git stash文件重置为第一次提交

时间:2014-12-12 14:32:14

标签: git version-control

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

git stash save --keep-index

给了我输出:

  

主服务器上保存的工作目录和索引状态WIP:cc91857固定动画错误   HEAD现在是cc91857固定动画bug

并通过键入

删除了藏匿处
git stash drop 

输出:

  

丢弃参考/藏匿@ {0}(dfb694b90757d8d25318b09da4f5dad2f3be20a6)

但是,不是将编辑后的文件更改为上次提交的状态,而是将其更改为初始提交的状态,尽管我的头仍处于同一提交状态。令我恐惧的是,我发现包含我原本想要删除的更改的文件现在看起来在第一次提交和最近提交之间保持不变。其他文件不受影响。

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

1 个答案:

答案 0 :(得分:0)

要恢复藏匿,

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