一、保存当前工作
在使用git stash命令前,我们需要先保存当前工作,以便之后使用stash命令可以找到我们需要保存的内容。
git add .
git commit -m "保存当前工作"
二、使用git stash保存工作
当需要切换分支或者操作其他内容时,我们可以使用git stash命令将当前工作存储起来。
git stash save "暂存当前工作"
该命令会将当前工作存储在stash栈中,并添加一条注释说明。我们可以使用以下命令查看stash栈中的内容:
git stash list
其中,stash栈按照时间顺序存储,最新的存储在栈顶。
三、恢复工作
当我们需要恢复之前存储的工作时,可以使用以下任意一种命令:
git stash apply stash@{0}
该命令会将栈顶的stash内容恢复到工作区中,但是不会将对应的stash记录从stash栈中删除。
git stash pop stash@{0}
该命令会将栈顶的stash内容恢复到工作区中,并将对应的stash记录从stash栈中删除。
四、删除stash
如果我们不需要某个stash记录了,可以使用以下命令删除该记录:
git stash drop stash@{0}
如果我们需要清空整个stash栈,可以使用以下命令:
git stash clear
五、stash命令其他用法
除了上述的基本用法外,stash命令还有以下几个常用的用法:
1.指定要保存的文件
git stash save "暂存当前工作" file1 file2 ...
该命令只会保存指定的文件,其他文件的修改不会保存。
2.保存工作时不保存已经被追踪的文件
git stash save --keep-index "暂存当前工作"
该命令会将未被追踪的文件保存到stash中,而已经被追踪的文件则不会保存。这样,我们就可以在不影响已经追踪的文件的前提下暂存当前工作。
3.在stash中添加一个注释
git stash save -m "注释" "暂存当前工作"
该命令可以为当前工作创建一条注释。
4.在stash中保存当前工作的差异
git stash save --patch "暂存当前工作"
该命令会将当前工作的差异保存到stash中,而不是保存全部文件的修改。
六、总结
在团队协作的过程中,使用git stash时非常方便,而且不会丢失修改。需要注意的是,在应用stash时,我们需要小心不要覆盖掉其他人的修改。