如何仅固定某些文件?
我隐藏了我的改变。 现在我只想从存储中取出一些文件。 我怎样才能做到这一点?
  如下所述,并且在“如何从git存储中提取单个文件(或更改为文件)?”中详细介绍,您可以应用使用git checkout或git show来恢复特定文件。 
git checkout stash@{0} -- <filename>
  (正如Jaime M.所述,对于像tcsh这样的需要转义特殊字符的shell,语法是: git checkout 'stash@{0}' -- <filename> ) 
或者将它保存在另一个文件名下:
git show stash@{0}:<full filename>  >  <newfile>
  (请注意,这里<full filename>是文件相对于项目顶部目录的完整路径名(想想:相对于stash@{0} ))。 
yucer在评论中建议:
如果您想手动选择要从该文件应用哪些更改:
git difftool stash@{0}..HEAD -- <filename>
Vivek在评论中补充道:
  看起来像“ git checkout stash@{0} -- <filename> ”在执行存储时恢复文件的版本 - 它不适用(仅)该文件的存储更改。 
  做后者: 
git diff stash@{0}^1 stash@{0} -- <filename> | git apply
  (如peterflynn所述,在某些情况下,您可能需要| git apply -p1 ,从传统diff路径中删除一个( p1 )主斜杠) 
  正如评论:“unsash”( git stash pop ),然后: 
git add ) git stash --keep-index其余部分: git stash --keep-index   最后一点是允许你保留一些文件,同时存储其他文件。 
  它在“如何从多个已更改的文件中仅存储一个文件”中进行了说明。 
git checkout stash@{N} <File(s)/Folder(s) path> 
例如。 要仅从最后一次存储中恢复./test.c文件和./include文件夹,
git checkout stash@{0} ./test.c ./include
我认为VonC的答案可能是你想要的,但是这里有一种方法来做一个选择性的“git apply”:
git show stash@{0}:MyFile.txt > MyFile.txt
