Git:只存储一个文件

我想只能从一个文件中存储更改:

git stash save -- just_my_file.txt 

以上不起作用。 任何替代品?

我认为stash -p可能是你想要的select,但是为了以后遇到其他更棘手的事情,请记住:

对于唯一稍微复杂的branch集合,存储实际上只是一个非常简单的select。 隐藏对于快速移动事物非常有用,但是您可以使用分支来完成更复杂的事情,而无需更多的头痛和工作。

 # git checkout -b tmpbranch # git add the_file # git commit -m "stashing the_file" # git checkout master 

去做,做你想做的事,然后简单地重新组合和/或merge tmpbranch。 当你需要进行更仔细的跟踪时,实际上并没有太多额外的工作。

你可以用git stash -p (类似于git add -p )交互地存储单行。

它不需要一个文件名,但是你可以直接跳过其他文件,直到你到达了你想要的文件,并在那里存储所有的变化。

最好的select是除了这个文件之外的其他所有东西,并且告诉stash使用git stash save --keep-index ,这样就可以git stash save --keep-index你的unsaged文件:

 $ git add . $ git reset thefiletostash $ git stash save --keep-index 

正如Dan所指出的那样,文件thefiletostash是唯一一个被thefiletostash重置的文件thefiletostash ,但是它也存储了其他文件,所以它不是你想要的。

以防万一你使用'git stash'(而不是真的使用git stash来暂时存储)时,你实际上是指“放弃更改”,在这种情况下,你可以使用

 git checkout -- <file> 

请注意,Git存储只是一个更快,更简单的替代分支和做的东西。