如何恢复未在git中提交的存储文件?

时间:2016-04-07 13:33:37

标签: git

我正在试图找出我最近5个小时工作中藏了哪个分支。 我错误地打了藏品,所有的改变都消失了!

偶然我输入了:

git stash

这就是我所看到的enter image description here

然后我检查了我的分支:

然后我试着带回我的藏匿处。我结账到我的分行并输入

git stash pop

现在我明白了:

(use "git reset HEAD <file>..." to unstage)

    new file:   ******************/UIViewController+Keyboard.h
    new file:   ******************/UIViewController+Keyboard.m

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   ******************.xcodeproj/project.pbxproj
    modified:   ******************/CTAuthenticateUserViewController.m

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    ******************/Base.lproj/Bernard copy.storyboard
    ******************/Base.lproj/Bernard.storyboard
    ******************/Keyboard.h

这是我猜对了:

(use "git reset HEAD <file>..." to unstage)

这意味着删除所有我藏匿的文件!

use "git add <file>..."

这会用stashed文件替换当前文件吗?!

"git checkout -- <file>...

藏匿的更改转到bin,最后一次提交成为头

 "git add <file>..."

这会将这些文件添加到当前分支,该分支来自存储

1 个答案:

答案 0 :(得分:1)

执行git stash pop会将您的存储更改应用于当前已检出的工作树。 如果命令没有给出“冲突出现”或类似的任何错误,git能够应用更改并从存储堆栈中删除存储提交。 完成stash applystash pop后,会执行git status,以便您查看工作树的当前状态。 Stashing还会保留您添加到索引中的内容以及您刚修改的内容而不添加索引。 所以你现在应该把所有的工作都拿回来,并且可以随意继续。