? ? ? ? 使用git协同开发工具的同学应该都知道,在开发过程中我们需要经常切换分支,例如正在某一个分支下做需求时候,在该需求还未完成时就需要在另外一个分支下进行问题的修改,如果直接checkout切换分支会有冲突,会导致切换不成功,但是又不想将当前的做的修改复原,于是想到将当前的改动暂时保存下来,然后切换到另外一个分支去修改问题,当问题修改完成了之后将分支切换回来,然后再将之前保存的改动释放即可继续对需求进行开发了。
? ? ? ? 以上的存储在git中提供了stash命令进行存储。
1. 存储当前分支下的所有改动(git stash)
? ? ? ? 如图上所示 ,使用git status 看到当前修改了test.txt文件,若要将该修改保存下来,直接使用git stash命令就可以了。如果想要 给当前压栈存储的修改添加说明信息(如果没有指定信息,则说明信息为最新的commit信息),使用git stash -m "存储的信息",引号内为该次存储的命名。如下图所示:
?
2.查看所有的存储列表(git stash list )
? ? ? ? ?如上图所示,stash@{0}和stash@{1}分别是两次保存的修改,stash@{0}是最新的一次提交。
?
3.释放最近一次保存,并且将该次保存出栈(将最近一次保存释放之后将该次保存删除)(git stash pop)?
? ? ? ? 如上图所示,将最近一次存储释放之后,使用git stash list 查看存储列表,已经由原来的两条存储变成了一条。
4.?存储指定的文件修改(git stash push .../.../?.../.../?.../.../)
? ? ? ? /.../...为你想要存储的修改的文件路径,当你修改了很多文件,但是你只想存储部分修改的文件,即可在git stash push 后面添加路径,如果是多个文件,在这些文件路径之间添加空格即可。
5.查看某一个压栈修改了哪几个文件(git stash show stash@{0} )
? ? ? ? ?当存储的修改过多时,你可能会忘记某次存储修改了什么文件,想要查看某次存储修改了哪些文件可以使用git stash show stash@{0}命令,stash@{0}为最近存储的修改,想要看其他的存储只需要改stash@{0}的数字,如stash@{5}.如上图我是先使用git stash list 查看存储列表,然后使用git stash show stash@{0}命令查看第一个修改,可以看到在最近的一次修改存储中我只修改了一个文件test.txt。
6.查看指定存储的修改内容(git stash show -p stash@{0})?
? ? ? ? 如果想查看某次存储修改的所有内容,而不是仅仅查看修改了什么文件,例如查看最近一次存储修改的所有文件和内容,可以使用git stash show -p stash@{0}命令查看。
? ? ? ? ?如上图查看修改,上图的例子显示了最近的一次存储修改了一个文件,test.txt.
|