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存储只是一个更快,更简单的替代分支和做的东西。