仅存储部分当前修改的文件

Stash only some of the currently modified files

我有很多修改过的文件,我想只存储一些修改过的文件。

例如,我的存储库类似于:

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: main.cpp
      modified: MyClass.h
      modified: MyClass.cpp

而且我只想收藏 MyClass.hMyClass.cpp

我找到了 this question,但接受的答案似乎是错误的,并且投票最多的答案需要每个 hunk/file 以交互方式添加。

有没有简单的方法来存储一组特定的文件?最好是在一个命令中,而不必交互地 select 逐个文件或 stage/unstage 东西。

我发现 git stash push 可以用来轻松地存储多个文件。

要隐藏示例中的文件,命令应该是

 git stash push MyClass.h MyClass.cpp

其中隐藏了 MyClass.hMyClass.cpp 但单独留下了 main.cpp

在对 this answer

的编辑中找到